( 32 ) 在一个派生类对象结束其生命周期时A ) 先调用 派生类的析构函数后调用基类的析构函数B ) 先调用 基类的析构函数后调用派生类的析构函数C ) 如果基类没有定义 析构函数,则只调用派生类的析构函数D ) 如果 派生类 没有定义 析构函数,则只调用 基类 的析构函数

题目

( 32 ) 在一个派生类对象结束其生命周期时

A ) 先调用 派生类的析构函数后调用基类的析构函数

B ) 先调用 基类的析构函数后调用派生类的析构函数

C ) 如果基类没有定义 析构函数,则只调用派生类的析构函数

D ) 如果 派生类 没有定义 析构函数,则只调用 基类 的析构函数


相似考题
更多“( 32 ) 在一个派生类对象结束其生命周期时A ) 先调用 派生类的析构函数后调用基类的析构函数B ) ”相关问题
  • 第1题:

    下列关于派生类构造函数和析构函数的叙述中,错误的是

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

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

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

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


    正确答案:D
    解析:在通常情况下,派生类和基类的构造函数的执行顺序为:先执行基类的构造函数,然后执行派生类的构造函数;当撤销派生类对象时,先执行派生类的析构函数,随后再执行基类的析构函数。

  • 第2题:

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

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

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

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

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


    正确答案:D
    在销毁派生类对象时,先调用派生类的析构函数,再调用基类的析构函数。

  • 第3题:

    59、在一个派生类对象结束其生命周期时()。

    A.先调用派生类的析构函数后调用基类的析构函数

    B.先调用基类的析构函数后调用派生类的析构函数

    C.如果基数没有定义析构函数,则只调用派生类的析构函数

    D.如果派生类没有定义析构函数,则只调用基类的析构函数


    A

  • 第4题:

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

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

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

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

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


    正确答案:D
    解析:此题考查的是派生类的构造函数和析构函数。在撤销派生类对象时,析构函数的执行过程和构造函数严格相反,即:对派生类新增普通成员进行清理;调用成员对象析构函数,调用基类析构函数对基类进行清理。

  • 第5题:

    57、如果某类是从另一个类继承来的,对象释放时析构函数的调用顺序是().

    A.不调用基类的析构函数

    B.先调用基类的析构函数,再调用派生类的析构函数

    C.先调用派生类的析构函数,再调用基类的析构函数

    D.不调用派生类的析构函数


    错误