下列关于虚基类的描述中,错误的是()。
A. 声明“classB:virtualpublicA”说明类B为虚基类
B. 创建派生类对象时,虚基类的构造函数只被调用一次
C. 使用虚基类可以消除由多继承产生的二义性
D. 创建派生类对象时,首先调用虚基类的构造函数
解决二义性问题的方法有()。
A. 只能使用作用域运算符
B. 使用作用域运算符或赋值兼容规则
C. 使用作用域运算符或虚基类
D. 使用虚基类或赋值兼容规则
多重继承的构造顺序可分为如下4步:(1)所有非虚基类的构造函数按照它们被继承的顺序构造;(2)所有虚基类的构造函数按照它们被继承的顺序构造;(3)所有子对象的构造函数按照它们声明的顺序构造;(4)派生类自己的构造函数体;这4个步骤的正确顺序是()。
A. (4)(3)(1)(2)
B. (2)(4)(3)(1)
C. (2)(1)(3)(4)
D. (3)(4)(1)(2)
下列叙述中错误的是()。
A. 派生类可以使用private派生
B. 对基类成员的访问必须是无二义性的
C. 基类成员的访问能力在派生类中保持不变
D. 赋值兼容性规则也适用于多继承