C++系列-继承中构造函数和析构函数的顺序

继承中构造函数和析构函数的顺序


归园田居·其三 - 魏晋·陶渊明
种豆南山下,草盛豆苗稀。
晨兴理荒秽,带月荷锄归。
道狭草木长,夕露沾我衣。
衣沾不足惜,但使愿无违。


继承中的构造和析构的顺序如下:

  • 先调用父类中的构造函数,再子类。
  • 析构的顺序与构造的顺序相反。
code:
#include <iostream>
using namespace std;

class Base
{
public:
	Base()
	{
		cout << "the constructor of the Base" << endl;
	}
	~Base()
	{
		cout << "the destructor of the Base" << endl;
	}
};

class Son : public Base
{
public:
	Son()
	{
		cout << "the constructor of the Son" << endl;
	}
	~Son()
	{
		cout << "the destructor of the Son" << endl;
	}
};
void test_con_destructor()
{
	Son s1;
}
int main()
{
	test_con_destructor();
	system("pause");
	return 0;
}

result:
the constructor of the Base
the constructor of the Son
the destructor of the Son
the destructor of the Base
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值