简述派生类的构造函数和析构函数的执行次序。
在派生与继承的层次结构中,当说明一个派生类的对象时,系统先执行各个基类的构造函数,先对基类成员进行初始化,然后再执行派生类的构造函数;若某一个基类也是派生类,则这种执行基类的构造函数的过程需要递归进行下去。在继承链中,构造函数的执行原则是:先执行基类的构造函数,再执行派生类的构造函数。当一个派生类的对象使用完毕撤消时,析构函数的执行顺序正好与构造函数的执行顺序相反。即:先执行派生类的析构函数,再执行基类的析构函数。
举一反三
- 请问构造函数和析构函数可以继承吗?派生类构造函数各部分的执行次序是怎样的
- 派生类构造函数的调用顺序是先调用()。 A: 派生类的构造函数 B: 基类的构造函数 C: 派生类的析构函数 D: 基类的析构函数
- 派生类构造函数和析构函数的执行顺序是怎样的?在多继承中,派生类构造函数和析构函数的执行顺序又是怎样的?
- 下列关于派生类构造函数和析构函数的表述中,错误的是 A: 下列关于派生类构造函数和析构函数的表述中,错误的是 B: 派生类的构造函数会隐含调用基类的构造函数 C: 在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数 D: 在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数
- 下列关于派生类的构造函数和析构函数中,错误的是( ) A: 派生类的构造函数会隐含调用基类的构造函数 B: 如果基类中没有默认构造函数,那么派生类必须定义构造函数 C: 在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数 D: 在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数
内容
- 0
下列关于派生类构造函数和析构函数的表述中,错误的是( )。 A: 派生类的构造函数在必要时会隐含调用基类的默认构造函数 B: 在建立派生类对象时,派生类的构造函数将首先调用基类的构造函数 C: 如果基类中没有默认构造函数,那么派生类必须定义构造函数 D: 在销毁派生类对象时,派生类的析构函数将首先调用基类的析构函数
- 1
下列关于派生类构造函数和析构函数的叙述中,错误的是 A: 如果基类中没有缺省构造函数,那么派生类必须定义构造函数 B: 派生类的构造函数会隐含调用基类的构造函数 C: 在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数 D: 在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数
- 2
派生类构造函数和析构函数的执行顺序是怎样的?
- 3
释放一个派生类对象时,会先执行基类的析构函数,再执行派生类的析构函数
- 4
派生类的析构函数在执行时,首先执行基类的析构函数( )