当前位置: 首页 > news >正文

【c++】组合类+继承情况下构造顺序

组合类+继承情况下构造顺序

构造顺序同普通继承,先父后子,内部类是最老的(最先调用构造的)。

示例代码

class A
{
public:A(int a = 0):_a(a){cout << "A()" << endl;}~A(){cout << "~A()" << endl;}
protected:int _a;
};class AA
{
public:AA(int a = 0, int aa = 0):_a(A(a)),_aa(aa){}
protected:A _a;int _aa;
};class B:public AA
{
public:B(int b = 0, int a = 0,int aa = 0):AA(a,aa),_b(b){}
protected:int _b;
};int main()
{B b(1,2,3);return 0;
}

示例代码中AA中有内部类A,B继承了AA。在显示调用父类构造函数时与普通继承没有任何区别,只是初始化的成员累成变化成了哪个内部类需要的类型。

但是可以清晰地看出,类B中并不存在类A,只有类AA。(因为A是类AA的成员,只不过这个成员是一个类,所以有了AA就相当于有了A)
在这里插入图片描述

构造顺序(先父后子)
在这里插入图片描述

http://www.lryc.cn/news/93357.html

相关文章:

  • 盛元广通生物化学重点实验室化学品信息化安全管理系统
  • 1.知识积累
  • 20230612----重返学习-函数式编程-数据类型检测-网络层优化
  • Java实现删除txt第一行
  • Go语言函数式编程库samber/lo
  • 自定义杰理AC63系列BLE数据发送函数
  • Jenkins结合gitee自动化部署SpringBoot项目
  • 声强级和声压级之间的转换举例
  • 16 粒子滤波
  • 【appium】appium自动化入门之API(下)——两万字API长文,建议收藏
  • 开发改了接口,经常忘通知测试的解决方案!
  • Beyond Compare 4 无法打开
  • MySQL高级数据操作
  • 硬件设计电源系列文章-DCDC转换器基础知识
  • XdsObjects .NET 8.45.1001.0 Crack
  • 数据安全--17--数据安全管理之数据传输
  • SpringSecurity实现前后端分离登录token认证详解
  • Vue3_ElementPlus_简单增删改查(2023)
  • vue中重写并自定义console.log
  • 基于OpenCV 和 Dlib 进行头部姿态估计
  • 24个Jvm面试题总结及答案
  • freemarker 生成前端文件
  • Pycharm+pytest+allure打造高逼格的测试报告
  • Mybatis-Plus中update更新操作用法
  • 16道JVM面试题
  • HttpRunner 接口自动化测试框架实战,打造高效测试流程
  • 手写一个webpack插件(plugin)
  • jvm常见面试题
  • TF-A 项目的长期支持介绍
  • 企业电子招标采购系统源码java 版本 Spring Cloud + Spring Boot