简单介绍C++编程中派生类的析构函数

2025-05-29 0 97

和构造函数类似,析构函数也是不能被继承的。

创建派生类对象时,构造函数的调用顺序和继承顺序相同,先执行基类构造函数,然后再执行派生类的构造函数。但是对于析构函数,调用顺序恰好相反,即先执行派生类析构函数,然后再执行基类的析构函数

请看下面的例子:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21
#include <iostream>

using namespace std;

class A{

public:

A(){cout<<"A constructor"<<endl;}

~A(){cout<<"A destructor"<<endl;}

};

class B: public A{

public:

B(){cout<<"B constructor"<<endl;}

~B(){cout<<"B destructor"<<endl;}

};

class C: public B{

public:

C(){cout<<"C constructor"<<endl;}

~C(){cout<<"C destructor"<<endl;}

};

int main(){

C test;

return 0;

}

运行结果:

?

1

2

3

4

5

6
A constructor

B constructor

C constructor

C destructor

B destructor

A destructor

从运行结果可以很明显地看出来,构造函数和析构函数的执行顺序是相反的。

需要注意的是,一个类只能有一个析构函数,调用时不会出现二义性,所以析构函数不需要显式地调用。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 简单介绍C++编程中派生类的析构函数 https://www.kuaiidc.com/106760.html

相关文章

发表评论
暂无评论