下列关于虚基类的描述中错误的是A.虚基类子对象的初始化由最派生类完成B.虚基类子对象的初始化次数与虚基类下面的派生类个数有关C.设置虚基类的目的是消除二义性D.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对虚基类构造函数调用

题目

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

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

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

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

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


相似考题
参考答案和解析
正确答案:B
解析:虚基类主要是为了消除在多重继承中的二义性问题。虚基类对象的初始化次数只于对象的多少有关,与类的层次结构是没有关系的。故本题正确答案为B。
更多“下列关于虚基类的描述中错误的是A.虚基类子对象的初始化由最派生类完成B.虚基类子对象的初始化次 ”相关问题
  • 第1题:

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

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

    B.多次

    C.二次

    D.一次


    正确答案:D

  • 第2题:

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

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

    B.多次

    C.二次

    D.一次


    D

  • 第3题:

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

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

    B.多次

    C.二次

    D.一次


    一次

  • 第4题:

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

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

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

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

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


    正确答案:B

  • 第5题:

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

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

    B.多次

    C.二次

    D.一次


    C 解析:在C++中,构造函数不能被继承,因此;派生类的构造函数必须通过调用基类的构造函数来初始化基类子对象。所以,在定义派生类的构造函数时,除了对自己的数据成员进行初始化外,还必须负责调用基类构造函数使基类的数据成员得以初始化。如果派生类中还有子对象,还应包含对子对象初始化的构造函数。但是它不负责基类中子对象的初始化。