使用虚基类可以消除由多继承产生的二义性
构造派生类对象时,虚基类的构造函数只被调用一次
声明“class B: virtual public A”说明类B为虚基类
建立派生类对象时,首先调用虚基类的构造函数
第1题:
下列关于派生类的构造函数的叙述中,正确的是( )。
A.派生类通过成员初设列表的方法调用基类的构造函数,实现对基类的初始化
B.派生类构造函数的调用顺序先基类后子对象构造函数
C.派生类构造函数的调用顺序先子对象构造函数后基类,
D.派生类构造函数是不能继承基类的
第2题:
下列关于虚基类的描述中错误的是
A.虚基类子对象的初始化由最派生类完成
B.虚基类子对象的初始化次数与虚基类下面的派生类个数有关
C.设置虚基类的目的是消除二义性
D.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对虚基类构造函数调用
第3题:
A、有引入虚基类的目的是解决二义性的问题;
B、因为虚基类可被多个派生类继承,因此可以有多个副本以适应不同的派生类;
C、若某个类被说明为虚基类,则被重复继承的该类成员在派生类对象中只有一个副本;
D、在派生类对象创建时,要保证虚基类的构造函数只被调用一次。
第4题:
一个类可以同时继承多个类,称为多继承。下列关于多继承和虚基类的表述中,错误的是______ 。
A.每个派生类的构造函数都要为虚基类构造函数提供实参
B.多继承时有可能出现对基类成员访问的二义性问题
C.使用虚基类可以解决二义性问题并实现运行时的多态性
D.建立派生类对象时,虚基类的构造函数会首先被调用
第5题:
下列关于派生类的构造函数的说法中,哪个是错误的 ______。
A.派生类不继承基类的构造函数和赋值运算
B.派生类的构造函数可以调用基类的构造函数
C.派生类的构造函数先于基类的构造函数执行
D.在建立派生类的实例对象时,必须调用基类的构造函数来初始化派生类对象中的基类成员
第6题:
下列关于虚基类的描述中,错误的是( )。
A.使用虚基类可以消除由多继承产生的二义性
B.构造派生类对象时。虚基类的构造函数只被调用一次
C.声明“classB:virtualpublicA”说明类B为虚基类
D.建立派生类对象时,首先调用虚基类的构造函数
第7题:
下列关于虚基类的描述中,错误的是
A.使用虚基类可以消除由多继承产生的二义性
B.构造派生类对象时,虚基类的构造函数只被调用一次
C.声明“class B:virtual public A”说明类B为虚基类
D.建立派生类对象时,首先调用虚基类的构造函数 .
第8题:
( 23 )下列关于虚基类的描述中,错误的是
A )使用虚基类可以消除由多继承产生的二义性
B )构造派生类对象时,虚基类的构造函数只被调用一次
C )声明 “ class B : virtual public A ” 说明类 B 为虚基类
D )建立派生类对象时,首先调用虚基类的构造函数
第9题:
带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化( )。
A.与虚基类下面的派生类个数有关
B.多次
C.两次
D.一次
第10题:
定义对象数组a[2]时,要调用2次构造函数;生成*p的对象时,要调用一次构造函数,故答案为3。
A.使用虚基类可以消除由多继承产生的二义性
B.构造派生类对象时,虚基类的构造函数只被调用一次
C.声明“class B:virtual public A”说明类B为虚基类
D.建立派生类对象时,首先调用虚基类的函数