多继承的构造顺序可以分为以下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;
假设类X以类Y作为它的一个基类,并且X类和Y类具有相同格式的函数func(),obj为类X的对象,则obj.func()语句实现的功能为( )。
A. 先执行类X的func(),再执行类Y的func()
B. 先执行类Y的func(),再执行类X的func()
C. 执行类X的func()
D. 执行类Y的func()