带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化()。A、与虚基类下面的派生类个数有关B、多次C、二次D、一次

题目

带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化()。

  • A、与虚基类下面的派生类个数有关
  • B、多次
  • C、二次
  • D、一次
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

A.使用虚基类可以消除由多继承产生的二义性

B.构造派生类对象时。虚基类的构造函数只被调用一次

C.声明“classB:virtualpublicA”说明类B为虚基类

D.建立派生类对象时,首先调用虚基类的构造函数


正确答案:C
C。【解析】本题针对虚基类的定义及特点考查。虚基类的声明为“class<类名>:virtual<继承方式><基类名>”,即本题的A为虚基类。

第2题:

下列关于派生类的构造函数的叙述中,正确的是( )。

A.派生类通过成员初设列表的方法调用基本类的构造函数,实现对基本类的初始化

B.派生类构造函数的调用顺序先基类后子对象构造函数

C.派生类构造函数的调用顺序先子对象构造函数后基类

D.派生类构造函数是不能继承基类的


正确答案:C

第3题:

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

A )使用虚基类可以消除由多继承产生的二义性

B )构造派生类对象时,虚基类的构造函数只被调用一次

C )声明 “ class B : virtual public A ” 说明类 B 为虚基类

D )建立派生类对象时,首先调用虚基类的构造函数


正确答案:C

第4题:

带有虚基类的多层派生类,构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化 ______。

A.与虚基类下面的派生类个数有关

B.多次

C.二次

D.一次


正确答案:D

第5题:

带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化( )。

A.与虚基类下面的派生类个数有关

B.多次

C.两次

D.一次


正确答案:D

第6题:

下列关于虚基类的描述中错误的是

A.虚基类子对象的初始化由最派生类完成

B.虚基类子对象的初始化次数与虚基类下面的派生类个数有关

C.设置虚基类的目的是消除二义性

D.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对虚基类构造函数调用


正确答案:B
解析:虚基类主要是为了消除在多重继承中的二义性问题。虚基类对象的初始化次数只于对象的多少有关,与类的层次结构是没有关系的。故本题正确答案为B。

第7题:

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

A.使用虚基类可以消除由多继承产生的二义性

B.构造派生类对象时,虚基类的构造函数只被调用一次

C.声明“class B:virtual public A”说明类B为虚基类

D.建立派生类对象时,首先调用虚基类的构造函数 .


正确答案:C
解析:虚基类主要解决在多重继承时,基类可能被多次继承的问题,虚基类提供了一个基类给派生类。class B:virtual public:A中很明显B继承了虚基类A,所以选项c)错误。

第8题:

下列关于派生类的构造函数的叙述中,正确的是( )。

A.派生类通过成员初设列表的方法调用基类的构造函数,实现对基类的初始化

B.派生类构造函数的调用顺序先基类后子对象构造函数

C.派生类构造函数的调用顺序先子对象构造函数后基类,

D.派生类构造函数是不能继承基类的


正确答案:C

第9题:

派生类的构造函数的成员初始化列表中,不能包含( )。

A.基类的构造函数

B.派生类中子对象的初始化

C.基类中子对象的初始化

D.派生类中一般数据成员的初始化


正确答案:C

第10题:

带有虚基类的多层次派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样对虚基类的子对象初始化

A.与虚基类下面的派生类个数有关

B.多次

C.二次

D.一次


正确答案:D
解析:本题考核虚基类以及构造函数。使用虚基类解决二义性问题的关键是在派生类中只产生一个虚基类对象。虚基类子对象由最派生类的构造函数通过调用虚基类的构造函数进行初始化(最派生类的构造函数的成员初始化列表中必须列出对虚基类构造函数的调用,否则,表示使用该虚基类的缺省构造函数)。由于最派生类总是相对,因此,从虚基类直接或间接派生的派生类中的构造函数的成员初始化列表中都要列出对虚基类构造函数的调用。但只有用于建立对象的最派生类的构造函数才调用虚基类的构造函数,此时最派生类的所有基类中列出的对虚基类的构造函数的调用在执行过程中都被忽略,从而保证对虚基类子对象只初始化一次。

更多相关问题