C++基类和派生类的析构函数
2年前 (2024-04-27)
和构造函数类似,析构函数也不能被继承。与构造函数不同的是,在派生类的析构函数中不用显式地调用基类的析构函数,因为每个类只有一个析构函数,编译器知道如何选择,无需程序员干涉。
A constructor
B constructor
C constructor
C destructor
B destructor
A destructor
另外析构函数的执行顺序和构造函数的执行顺序也刚好相反:
创建派生类对象时,构造函数的执行顺序和继承顺序相同,即先执行基类构造函数,再执行派生类构造函数。
而销毁派生类对象时,析构函数的执行顺序和继承顺序相反,即先执行派生类析构函数,再执行基类析构函数。
请看下面的例子:
运行结果:#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;
}
A constructor
B constructor
C constructor
C destructor
B destructor
A destructor
- 随机文章
- 央视 马尔代夫 局势(央视报道马尔代夫局势,新政府上台带来新气象)
- 从化全新马尔代夫(从化全新马尔代夫:探索私密度假胜地)
- 亚航马尔代夫电话(亚洲航空宣布在马尔代夫开放客服热线)
- 下载马尔代夫桌面(美丽马尔代夫:免费高清桌面壁纸下载)
- 兰卡富士马尔代夫(兰卡富士马尔代夫:奢华海岛度假胜地)
- 去马尔代夫要签证(前往马尔代夫游玩需办理签证,长度。)
- 关岛对阵马尔代夫(重写后的标题:“关岛对战马尔代夫”)
- 小野解说马尔代夫(小野带你游马尔代夫,感受海岛之美!)
- 五一没去马尔代夫(五一节在家,如何让你的度假感升级?)
- 张健马尔代夫股东(张健成为马尔代夫酒店集团第二大股东)
- 工程伦理马尔代夫(工程伦理:马尔代夫的可持续发展挑战)
- 惠普投资马尔代夫(惠普向马尔代夫投资:加速数字化转型)
- 小孩玩乐马尔代夫(孩子们在马尔代夫享受乐趣的视频实录)
- 军舰 马尔代夫(马尔代夫海军将添一艘战舰)
- 水粉马尔代夫补色(水粉马尔代夫:绚烂色彩下的海洋天堂)
- 星空帐篷马尔代夫(在马尔代夫星空下露营体验:星空帐篷)
- 国足马尔代夫时间(中国足球队将在马尔代夫时间进行比赛)
- 潢川版的马尔代夫(潢川县仿马尔代夫建水上屋,美如画!)
- 磁县马尔代夫入口(磁县新建马尔代夫度假村,美如天堂!)
- 青建 马尔代夫(青建承建的马尔代夫工程完美收官)
- 移动马尔代夫流量(探索马代:探究这一热门岛国的魅力!)
- 蓝色马尔代夫水屋(新:享受蓝色马尔代夫水屋的极致体验)
- 青岛马尔代夫海钓(青岛深海垂钓之旅,仿若海底马尔代夫)
- 飞客 马尔代夫(探索马尔代夫之美:一个飞客的经历)
- 马尔代夫中转新加(马尔代夫机场开放中转,旅行更便利!)
- 苏州马尔代夫视频(苏州私人海岛酒店发布马尔代夫风视频)
- 锦州小马尔代夫路(锦州首个模拟马尔代夫风情的景区亮相)
- 锦州马尔代夫旅游(锦州市民盛夏游马代,畅享海岛热浪!)
- 亚万 马尔代夫(亚万岛,马尔代夫的新晋流行旅游胜地)
- 西宁马尔代夫海滩(西宁市打造马尔代夫海滩风情旅游项目)
