多继承的构造顺序可以分为以下4步:(1)所有非虚基类的构造函数按照它们被继承的顺序;(2)所有虚基类的构造函数按照它们被继承的顺序;(3)所有子对象的构造函数按照它们声明的顺序(4)派生类自己的构造函数体
A. (4)(3)(1)(2)
B. (2)(4)(3)(1)
C. (2)(1)(3)(4)
D. (3)(4)(1)(2)
下面虚基类的声明中,正确的是()。
A. class virtual B :public A
B. virtual class B :public A
C. class B :public A virtual
D. class B : virtual public A
下面()的叙述不符合赋值兼容规则。
A. 派生类的对象可以赋值给基类的对象
B. 基类的对象可以赋值给派生类的对象
C. 派生类的对象可以初始化基类的引用、
D. 派生类的对象的地址可以赋值给指向基类的指针
已知B类是A类的派生类,且有定义:A a, *p1; B b, *p2=&b;,则下列选项中属于非法操作的是( )。
A. b=a;
B. p1=&b;
C. A &a2=b;
D. p1=p2;