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

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

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

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

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

演示案例

  • 例如:下面的父类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---继承中构造函数、析构函数的关系相关推荐

  1. C++继承中构造函数、析构函数调用顺序及虚析构函数

    首先说说构造函数,大家都知道构造函数里就可以调用成员变量,而继承中子类是把基类的成员变成自己的成员,那么也就是说子类在构造函数里就可以调用基类的成员了,这就说明创建子类的时候必须先调用基类的构造函数, ...

  2. c++中的继承--2(继承中的析构函数和构造函数,继承中同名成员,继承中静态成员)

    继承中的构造函数和析构函数 继承中的构造和析构顺序 子类创建对象时,先调用父类的构造,然后调用自身构造 析构顺序与构造顺序相反 子类不会继承父类的构造函数和析构函数 如果父类中没有合适默认构造,那么子 ...

  3. c++远征之继承篇——继承的概念、继承时构造函数/析构函数的先后顺序

    1.继承的概念 2.继承中,构造函数和析构函数的先后顺序

  4. c++继承-----继承中构造函数写法

    父类中的属性: 调用父类的构造函数初始化 成员函数的方式初始化 子类中的构造函数: 必须要调用父类构造函数 必须采用初始化参数列表的方式 子类想构造无参对象,父类必须要写无参构造函数(隐式调用构造函数 ...

  5. C++虚继承中构造函数和析构函数顺序问题以及原理

    多重继承的问题:多个类B,C,-继承同一个类A导致如果X继承了B,C,-那么在X中将还有多个A中成员的拷贝,如果想要访问A中的成员如果不加名字空间将会导致二义性,这种拷贝大多是没有实际意义的,为了避免 ...

  6. 公有继承中 构造函数和析构函数的调用(包含内嵌子对象)

    先祖先后客人再自己. #include<iostream>#include<cstdio>using namespace std;class B0 { public:B0(){ ...

  7. java构造函数调用其他程序的顺序,java关于继承中构造函数的调用顺序

    public class Constraction_Test { /** * 在java中用子类去创建一个对象的时候会首先调用父类的无参构造函数 * 然后再去调用自己的构造函数 * @param ar ...

  8. C++:继承中的构造函数和析构函数

    C++:继承中的构造函数和析构函数 1.继承中构造函数和析构函数调用顺序 a.调用父类构造函数: b.调用其他成员的构造函数: c.调用子类构造函数: d.析构调用顺序相反. #include < ...

  9. php中的构造函数和析构函数,php 中构造函数和析构函数

    构造函数: 在对象实例化时被调用,一个类中只能有一个构造函数,在类中起初始化的作用. 析构函数: 在对象结束时被自动调用. 话不多说,用一段代码来说明两者的区别: //定义一个类 class Pers ...

最新文章

  1. 用Python分析《工作细胞》的一万多条评论后,非漫迷也要入番了
  2. 把office文档转换为html过程中的一些坑
  3. [Contest20170910]string
  4. 网站如何布局才能更利于提升用户体验?
  5. pytorch reshape_PyTorch中的contiguous
  6. qchart画完以后删除_冬天的夜晚很难画?老师分步骤教你画,简单易学,收藏起来临摹...
  7. maven POM总结
  8. 在实践中总结出的几条 CodeReview 实用经验
  9. JAVA线程池的创建
  10. 2016届毕业生-毕业设计的相关事项
  11. linux下编译upx ucl
  12. 海康Ehome协议java开发
  13. 利用elasticsearch实现搜索引擎
  14. Unity3D制作3维立体小游戏
  15. 定积分的基本性质1 线性性质
  16. 利用函数求三个数的最大值
  17. 单片机第三讲 ——中断及定时器基本知识
  18. JS 如何调用高德地图
  19. 漏洞复现----37、Apache Unomi 远程代码执行漏洞 (CVE-2020-13942)
  20. win7注册表关闭防火墙服务器,怎么样修改注册表来关闭windows防火墙?

热门文章

  1. flex 正则表达式匹配规则
  2. V210调整根分区大小
  3. wince中的BSP工程的相关文件介绍
  4. vxworks 调式
  5. 华为笔记本软件商店_华为应用市场电脑版
  6. android 蒙版图片带拖动_推荐一个好用小巧的Android引导蒙版(浮层)库
  7. NuGet的简单使用
  8. ABP入门系列(8)——Json格式化
  9. REVERSE-PRACTICE-CthulhuOJ
  10. CCIE理论-第九篇-IPV6详细介绍