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---继承中构造函数、析构函数的关系相关推荐
- C++继承中构造函数、析构函数调用顺序及虚析构函数
首先说说构造函数,大家都知道构造函数里就可以调用成员变量,而继承中子类是把基类的成员变成自己的成员,那么也就是说子类在构造函数里就可以调用基类的成员了,这就说明创建子类的时候必须先调用基类的构造函数, ...
- c++中的继承--2(继承中的析构函数和构造函数,继承中同名成员,继承中静态成员)
继承中的构造函数和析构函数 继承中的构造和析构顺序 子类创建对象时,先调用父类的构造,然后调用自身构造 析构顺序与构造顺序相反 子类不会继承父类的构造函数和析构函数 如果父类中没有合适默认构造,那么子 ...
- c++远征之继承篇——继承的概念、继承时构造函数/析构函数的先后顺序
1.继承的概念 2.继承中,构造函数和析构函数的先后顺序
- c++继承-----继承中构造函数写法
父类中的属性: 调用父类的构造函数初始化 成员函数的方式初始化 子类中的构造函数: 必须要调用父类构造函数 必须采用初始化参数列表的方式 子类想构造无参对象,父类必须要写无参构造函数(隐式调用构造函数 ...
- C++虚继承中构造函数和析构函数顺序问题以及原理
多重继承的问题:多个类B,C,-继承同一个类A导致如果X继承了B,C,-那么在X中将还有多个A中成员的拷贝,如果想要访问A中的成员如果不加名字空间将会导致二义性,这种拷贝大多是没有实际意义的,为了避免 ...
- 公有继承中 构造函数和析构函数的调用(包含内嵌子对象)
先祖先后客人再自己. #include<iostream>#include<cstdio>using namespace std;class B0 { public:B0(){ ...
- java构造函数调用其他程序的顺序,java关于继承中构造函数的调用顺序
public class Constraction_Test { /** * 在java中用子类去创建一个对象的时候会首先调用父类的无参构造函数 * 然后再去调用自己的构造函数 * @param ar ...
- C++:继承中的构造函数和析构函数
C++:继承中的构造函数和析构函数 1.继承中构造函数和析构函数调用顺序 a.调用父类构造函数: b.调用其他成员的构造函数: c.调用子类构造函数: d.析构调用顺序相反. #include < ...
- php中的构造函数和析构函数,php 中构造函数和析构函数
构造函数: 在对象实例化时被调用,一个类中只能有一个构造函数,在类中起初始化的作用. 析构函数: 在对象结束时被自动调用. 话不多说,用一段代码来说明两者的区别: //定义一个类 class Pers ...
最新文章
- 用Python分析《工作细胞》的一万多条评论后,非漫迷也要入番了
- 把office文档转换为html过程中的一些坑
- [Contest20170910]string
- 网站如何布局才能更利于提升用户体验?
- pytorch reshape_PyTorch中的contiguous
- qchart画完以后删除_冬天的夜晚很难画?老师分步骤教你画,简单易学,收藏起来临摹...
- maven POM总结
- 在实践中总结出的几条 CodeReview 实用经验
- JAVA线程池的创建
- 2016届毕业生-毕业设计的相关事项
- linux下编译upx ucl
- 海康Ehome协议java开发
- 利用elasticsearch实现搜索引擎
- Unity3D制作3维立体小游戏
- 定积分的基本性质1 线性性质
- 利用函数求三个数的最大值
- 单片机第三讲 ——中断及定时器基本知识
- JS 如何调用高德地图
- 漏洞复现----37、Apache Unomi 远程代码执行漏洞 (CVE-2020-13942)
- win7注册表关闭防火墙服务器,怎么样修改注册表来关闭windows防火墙?