题目内容

下列关于虚基类的描述中,错误的是()。

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. 赋值兼容性规则也适用于多继承

如下程序运行时输出的第一行到第三行分别是(),()和()。#includeusingnamespacestd;classB0{protected:intx;public:B0(inti){x=i;}};classB1:virtualpublicB0{protected:inty;public:B1(inta,intb):B0(a){y=b;}voidShow(){cout<

答案查题题库