itgle.com

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

题目

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

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

B.多次

C.二次

D.一次


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

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

    A.一次

    B.两次

    C.多次

    D.以上答案都不对


    正确答案:D
    解析:只调用一次。

  • 第2题:

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

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

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

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

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


    正确答案:B

  • 第3题:

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

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

    B.多次

    C.二次

    D.一次


    一次

  • 第4题:

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

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

    B.多次

    C.二次

    D.一次


    正确答案:D

  • 第5题:

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

    A.不能初始化

    B.一次

    C.与虚基类下面的派生类层数有关

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


    正确