单选题下列关于类成员对象构造函数调用顺序的叙述中,正确的是(  )。A 与它们在初始化列表中的顺序相同B 与它们在类中声明的顺序相同C 与析构函数的调用顺序相同D 顺序不确定

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

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

B

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

C

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

D

顺序不确定


相似考题
参考答案和解析
正确答案: D
解析:
类成员对象构造函数的调用按照其在类中定义的顺序进行,与成员对象在初始化列表中的顺序无关。
更多“单选题下列关于类成员对象构造函数调用顺序的叙述中,正确的是(  )。A 与它们在初始化列表中的顺序相同B 与它们在类中声明的顺序相同C 与析构函数的调用顺序相同D 顺序不确定”相关问题
  • 第1题:

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

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

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

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

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


    正确答案:C

  • 第2题:

    关于对象成员的构造函数的调用顺序,说法正确的是 ______。

    A.与它们在成员初始化的类表中给出的顺序相同

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

    C.与它们在类中说明的顺序相同

    D.以上说法都不对


    正确答案:C

  • 第3题:

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

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

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

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

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

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

    A.④③①②

    B.②④③④

    C.②①③④

    D.③④①②


    正确答案:C

  • 第4题:

    建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为

    A.abc
    B.acb
    C.cab
    D.cba

    答案:A
    解析:

  • 第5题:

    关于atexit函数正确的是()。

    • A、一个进程可登记超过32个函数
    • B、函数登记的顺序和调用顺序相同
    • C、同一函数可登记多次,但调用一次
    • D、在显示或隐式调用exit时则执行这些登记的终止处理程序

    正确答案:D

  • 第6题:

    C++程序下列说法正确的有()

    • A、对调用的虚函数和模板类都进行迟后编译
    • B、基类与子类中函数如果要构成虚函数,除了要求在基类中用virtual声明,而且必须名字相同且参数类型相同返回类型相同
    • C、重载的类成员函数都必须要:或者返回类型不同,或者参数数目不同,或者参数序列的类型不同
    • D、静态成员函数和内联函数不能是虚函数,友员函数和构造函数也不能是虚函数,但是析构函数可以是虚函数

    正确答案:A

  • 第7题:

    在一个类中定义了多个子对象,其构造函数调用子对象的构造函数的顺序取决于什么?


    正确答案:构造函数调用子对象的顺序取决于定义子对象的顺序,而与构造函数的成员初始化列表中给出的子对象速设无关。

  • 第8题:

    派生类调用各个构造函数的顺序和调用析构函数的顺序相反。


    正确答案:正确

  • 第9题:

    单选题
    关于atexit函数正确的是()。
    A

    一个进程可登记超过32个函数

    B

    函数登记的顺序和调用顺序相同

    C

    同一函数可登记多次,但调用一次

    D

    在显示或隐式调用exit时则执行这些登记的终止处理程序


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

  • 第10题:

    单选题
    下列关于派生类构造函数和析构函数的说法中,错误的是(  )。
    A

    派生类的构造函数会隐含调用基类的构造函数

    B

    如果基类中没有缺省构造函数,那么派生类必须定义构造函数

    C

    在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数

    D

    在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数


    正确答案: C
    解析:
    在释放派生类对象时,析构函数函数的执行顺序是:先执行派生类的析构函数,然后执行成员对象的析构函数,最后执行基类的析构函数。

  • 第11题:

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

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

    B

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

    C

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

    D

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


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

  • 第12题:

    判断题
    派生类调用各个构造函数的顺序和调用析构函数的顺序相反。
    A

    B


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

  • 第13题:

    派生类构造函数的调用顺序是先调用( )。

    A.派生类的构造函数

    B.基类的构造函数

    C.派生类的析构函数

    D.基类的析构函数


    正确答案:B
    解析:派生类在构造时,先调用基类的构造函数。

  • 第14题:

    下列关于派生类构造函数和析构函数的说法中,错误的是( )。

    A.派生类的构造函数会隐含调用基类的构造函数

    B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数

    C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数

    D.在撤销派生类对象时,先调用基类的析构函数,再调用派生类的析构函数


    正确答案:D

  • 第15题:

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


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

  • 第16题:

    在具有继承关系的类层次体系中,析构函数执行的顺序是()

    • A、对象成员析构函数―基类析构函数―派生类本身的析构函数
    • B、派生类本身的析构函数―对象成员析构函数―基类析构函数
    • C、基类析构函数―派生类本身的析构函数―对象成员析构函数
    • D、基类析构函数―对象成员析构函数―派生类本身的析构函数

    正确答案:B

  • 第17题:

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

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

    正确答案:A

  • 第18题:

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


    正确答案:错误

  • 第19题:

    在具有虚继承的类体系中,建立派生类对象时以什么顺序调用构造函数?


    正确答案:在具有虚继承的类体系中,建立派生类对象时先调用间接基类构造函数,再按照派生类定义时各个直接基类继承的顺序调用直接基类的构造函数,最后再对派生类对象自身构造函数。
    另外,C++为了保证虚基类构造函数只被建立对象的类执行一次,规定在创建对象的派生类构造函数中只调用虚基类的构造函数和进行(执行)自身的初始化。参数表中的其他调用被忽略,即直接基类的构造函数只调用系统自带的版本,或调用自定义版本但不对虚基类数据成员初始化。

  • 第20题:

    单选题
    C++程序下列说法正确的有()
    A

    对调用的虚函数和模板类都进行迟后编译

    B

    基类与子类中函数如果要构成虚函数,除了要求在基类中用virtual声明,而且必须名字相同且参数类型相同返回类型相同

    C

    重载的类成员函数都必须要:或者返回类型不同,或者参数数目不同,或者参数序列的类型不同

    D

    静态成员函数和内联函数不能是虚函数,友员函数和构造函数也不能是虚函数,但是析构函数可以是虚函数


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

  • 第21题:

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

    B


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

  • 第22题:

    单选题
    在具有继承关系的类层次体系中,析构函数执行的顺序是()
    A

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

    B

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

    C

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

    D

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


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

  • 第23题:

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

    ④③①②

    B

    ②④③①

    C

    ②①③④

    D

    ③④①③


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