栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

一、派生类的构造 (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;
}

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

 

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/948229.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号