失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > C++:39---继承中构造函数 析构函数的关系

C++:39---继承中构造函数 析构函数的关系

时间:2021-09-23 15:32:49

相关推荐

C++:39---继承中构造函数 析构函数的关系

一、继承中构造函数的关系

如果父类没有构造函数,则子类初始化时不需要构造父类

如果父类有构造函数,则子类初始化自己的构造函数时,要先初始化父类的构造函数

基类的构造函数必须在派生类的构造函数初始化列表来进行初始化

总结:在构造自己(子类)之前,需要先构造父类

演示案例

例如:下面的父类A有构造函数,则子类B在初始化构造函数时,必须要构造父类A

class A //父类{int a_data;public:A(int data) { a_data = data; }~A() {}//5};class B :public A //子类{int b_data;public:B(int data) :A(10){b_data = data;//3}~B() {}//6};

例如:下面的父类A没有有构造函数,则子类B不需要构造父类

class A //父类{int a_data;};class B :public A //子类{int b_data;public:B(int data){b_data = data;}~B() {}};

二、若一个类中定义了另一类的构造函数关系

与继承中构造父类的构造函数相类似:

如果类中定义的对象没有构造函数,则该类初始化时不需要构造该对象的构造

如果觉得《C++:39---继承中构造函数 析构函数的关系》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。