c++程序设计基础-类与对象:派生类的构造和析构

c++程序设计基础-类与对象:派生类的构造和析构,第1张

一、派生类的构造 (1)注意事项

①在创建派生类对象时,应该先创造基类对象,此时派生类构造函数通过成员初始化列表的方式将数据传递给基类的构造函数,以便初始化从基类继承过来的数据成员。

②如果派生类有对象成员,那么再调用对象成员所属类的构造函数来进行初始化;如果派生类有多个对象成员,那么初始化按照它们再类中定义的顺序进行。

派生类自身的构造函数最后被调用,用于初始化派生类新增的数据成员

二、派生类的析构 (1)注意事项

当派生类对象被释放时,析构函数的调用顺序如下:

先调用派生类的析构函数(从下往上进行析构,栈区先进后出)

②如果派生类有对象成员,再调用对象成员所属类的析构函数;如果有多个对象成员,那么析构顺序按照它们再类中的定义顺序的逆序进行

最后调用基类的析构函数

三、构造与析构顺序 (1)示例代码
#include
using namespace std;

//继承中的构造和析构书顺序
class Base
{
public:
	Base()
	{
		cout << "Base的构造函数" << endl;
	}

	~Base()
	{
		cout << "Base的析构函数" << endl;
	}
};

class Son:public Base
{
public:
	Son()
	{
		cout << "Son的构造函数" << endl;
	}

	~Son()
	{
		cout << "Son的析构函数" << endl;
	}
};

void test01()
{
	//Base b;
	Son s;
}
int main()
{
	test01();

	system("pause");
	return 0;
}

调用父类(基类)的对象:

 

调用子类(派生类)的对象:

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1324148.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-12
下一篇2022-06-12

发表评论

登录后才能评论

评论列表(0条)

    保存