更多“多继承情况下,派生类的构造函数的执行顺序取决于成员初始化列表中的顺序。( ) ”相关问题
  • 第1题:

    对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行【 】。再执行成员对象的构造函数,后执行派生类本身的构造函数。


    正确答案:基类的构造函数
    基类的构造函数

  • 第2题:

    下列关于派生类的构造函数的说法中,哪个是错误的 ______。

    A.派生类不继承基类的构造函数和赋值运算

    B.派生类的构造函数可以调用基类的构造函数

    C.派生类的构造函数先于基类的构造函数执行

    D.在建立派生类的实例对象时,必须调用基类的构造函数来初始化派生类对象中的基类成员


    正确答案:C

  • 第3题:

    对基类数据成员的初始化必须在派生类的( )中的成员初始化列表处执行。

    A.派生函数

    B.析构函数

    C.内联函数

    D.构造函数


    正确答案:D
    解析:C++语言规定对基类数据成员的初始化必须在派生类的构造函数中的成员初始化列表中进行。

  • 第4题:

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

    A)基类的构造函数

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

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

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


    正确答案:C

  • 第5题:

    对基类数据成员的初始化必须在派生类的构造函数中的__________处执行。


    正确答案:
    成员初始化列表 【解析】派生类是基类的具体化,而基类则是派生类的抽象。派生类也就是基类的具体实现,所以对基类数据成员的初始化是在派生类的构造函数中成员初始化列表执行的。

  • 第6题:

    多继承情况下,派生类的构造函数中基类构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。


    正确答案:正确

  • 第7题:

    派生类的构造函数的成员初始化列表中可以包含的初始化项有()、()、()和()。


    正确答案:基类的构造函数;子对象类的构造函数;常数据成员;派生类其他非静态数据成员

  • 第8题:

    多重继承的派生类构造函数中执行基类构造函数的顺序取决于该派生类构造函数的成员初始化列表中出现基类初始化项的顺序。


    正确答案:错误

  • 第9题:

    填空题
    派生类的构造函数的成员初始化列表中可以包含的初始化项有()、()、()和()。

    正确答案: 基类的构造函数,子对象类的构造函数,常数据成员,派生类其他非静态数据成员
    解析: 暂无解析

  • 第10题:

    单选题
    下列哪一种顺序是派生类构造函数正确的调用其它构造函数顺序。()
    A

    基类构造函数—>对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员

    B

    基类构造函数—>派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数

    C

    派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数—>基类构造函数

    D

    对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员—>基类构造函数


    正确答案: B
    解析: 暂无解析

  • 第11题:

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

    基类的构造函数

    B

    派生类中子对象的初始化

    C

    基类中子对象的初始化

    D

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


    正确答案: C
    解析:
    在定义派生类的构造函数时,除了对自己的数据成员进行初始化外,还必须负责调用基类的构造函数使基类的数据成员得以初始化。如果派生类中还有子对象,还应包含对子对象初始化的构造函。

  • 第12题:

    单选题
    多继承的构造顺序可分为如下四步:①所有非虚基类的构造函数按照它们被继承的顺序构造②所有虚基类的构造函数按照它们被继承的顺序构造③所有子对象的构造函数按照它们声明的顺序构造④派生类自己的构造函数体这四个步骤的正确顺序是(  )。
    A

    ④③①②

    B

    ②④③①

    C

    ②①③④

    D

    ③④①③


    正确答案: D
    解析:
    多继承派生类的构造顺序是:首先调用虚基类的构造函数,其次调用非虚基类的构造函数按照它们被继承的顺序构造,然后调用子对象的构造函数,最后调用派生类构造函数。

  • 第13题:

    多继承的构造顺序可分为如下四步:

    ①所有非虚基类的构造函数按照它们被继承的顺序构造

    ②所有虚基类的构造函数按照它们被继承的顺序构造

    ③所有子对象的构造函数按照它们声明的顺序构造

    ④派生类自己的构造函数体

    这四个步骤的正确顺序是( )。

    A.④③①②

    B.②④③①

    C.②①③④

    D.③④①②


    正确答案:C

  • 第14题:

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

    A.基类的构造函数

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

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

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


    正确答案:C
    解析: 构造函数的主要作用是对数据成员初始化。在设计派生类的构造函数中,不仅要考虑派生类所增加数据成员的初始化,还应考虑基类中构造函数的初始化。子对象是对象中的对象,子对象的初始化是在建立派生类时通过调用派生类构造函数来实现。所以派生类构造函数的任务包括3部分:对基类数据成员初始化:对子对象数据成员初始化;对派生类数据成员初始化。即本题选择选项C)。

  • 第15题:

    派生类构造函数的执行顺序是先执行______的构造函数,然后执行成员对象的构造函数,最后执行______的构造函数。


    正确答案:基类 派生类。
    基类 派生类。 解析: 本题主要考查的是派生类构造函数的执行顺序,在C++语言中构造函数的执行顺序是先基类后派生类,而析构函数的执行顺序正好相反,是先调用派生类后调用基类。

  • 第16题:

    对基类数据成员的初始化必须派生类的构造函数中的_____处执行。


    正确答案:
    成员初始化列表 【解析】C 语言规定对基类数据成员的初始化必须在派生类的构造函数中的成员初始化列表中进行。

  • 第17题:

    对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用__________的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容


    正确答案:
    基类 【解析】对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用基类的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。所以本题填:基类。

  • 第18题:

    下列哪一种顺序是派生类构造函数正确的调用其它构造函数顺序。()

    • A、基类构造函数—>对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员
    • B、基类构造函数—>派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数
    • C、派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数—>基类构造函数
    • D、对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员—>基类构造函数

    正确答案:A

  • 第19题:

    在创建派生类对象时,类层次中构造函数的执行顺序是由()

    • A、派生类的参数初始式列表的顺序决定的
    • B、系统规定的
    • C、是由类的书写顺序决定的
    • D、是任意的

    正确答案:B

  • 第20题:

    判断题
    多重继承的派生类构造函数中执行基类构造函数的顺序取决于该派生类构造函数的成员初始化列表中出现基类初始化项的顺序。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第21题:

    判断题
    多继承情况下,派生类的构造函数中基类构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第22题:

    单选题
    在创建派生类对象时,构造函数的执行顺序是()
    A

    对象成员构造函数―基类构造函数―派生类本身的构造函数

    B

    派生类本身的构造函数―基类构造函数―对象成员构造函数

    C

    基类构造函数―派生类本身的构造函数―对象成员构造函数

    D

    基类构造函数―对象成员构造函数―派生类本身的构造函数


    正确答案: C
    解析: 暂无解析

  • 第23题:

    单选题
    下列关于类成员对象构造函数调用顺序的叙述中,正确的是(  )。
    A

    与它们在初始化列表中的顺序相同

    B

    与它们在类中声明的顺序相同

    C

    与析构函数的调用顺序相同

    D

    顺序不确定


    正确答案: D
    解析:
    类成员对象构造函数的调用按照其在类中定义的顺序进行,与成员对象在初始化列表中的顺序无关。