关于多重继承二义性的描述,错误的是()
A. 一个派生类是从具有共同的间接基类的两个直接基类派生来的,派生类对该公共基类的访问可能出现二义性
B. 解决二义性最常用的方法是作用域运算符对成员进行限定
C. 派生类的多个基类中存在同名成员时,派生类对这个成员访问可能出现二义性
D. 派生类和它的基类中出现同名函数时,将可能出现二义性
在如下继承层次下,当实例化有派生类对象时,调用构造函数的顺序为:class Base{…};class Base1: virtual Base{…};class Base2: virtual Base{…};class Derived : public Base2, public Base1{…};
A. Base(), Base2(), Base1(), Drived()
Base(), Base1(), Base(), Base2(), Drived()
C. Base(), Base2(), Base(), Base1(), Drived()
D. Base(), Base1(), Base2(), Drived()
如有基类Base和派生类Derived,实例化对象Base b;Derived d;叙述正确的是:
A. Derived* pDev = new Base();
B. Derived类中不能定义与Base类同名的成员,以免引用时引起歧义
C. Base* pb =&d ; Derived* pd = &b; 为正确的赋值操作
D. Base& rb = d; Base bb = d; 为正确的赋值操作