news 2026/3/11 12:55:24

C++之派生类的构造与析构

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++之派生类的构造与析构

文章目录

  • 构造
  • 析构

构造

  • 如果子类构造函数没有显式指明基类部分(基类子对象)的初始化方式,那么编译器将会自动调用基类的无参构造函数来初始化基类子对象
  • 如果希望以有参的方式来初始化基类部分,那么必须使用初始化列表来显式指明
  • 子对象构造顺序
    • 分配内存
    • 构造基类子对象(按继承表顺序)
    • 构造成员子对象(按声明顺序)
    • 执行子类构造函数代码
#include<iostream>usingnamespacestd;classMember{private:intm_k;public:Member(){cout<<"Member()"<<endl;m_k=0;}Member(intk){cout<<"Member(int)"<<endl;m_k=k;}};classBase{private:intm_i;public:Base(){cout<<"Base()"<<endl;m_i=0;}Base(inti){cout<<"Base(int)"<<endl;m_i=i;}};classDerived:publicBase{private:intm_j;Member m_m;public:Derived():Base(100),m_m(200){cout<<"Derived()"<<endl;}Derived(inti,intj):Base(i){cout<<"Derived(int, int)"<<endl;m_j=j;}};intmain(void){Derived d1;Derivedd2(1,2);return0;}

析构

  • 子类的析构函数,无论自己定义的,还是编译器缺省提供,都会自动调用基类的析构函数,完成基类子对象的销毁。
  • 子类对象销毁过程
    • 执行子类析构函数代码
    • 析构成员子对象(按声明逆序)
    • 析构基类子对象(按继承表逆序)
    • 释放内存
#include<iostream>usingnamespacestd;classMember{private:intm_k;public:Member(){cout<<"Member()"<<endl;m_k=0;}Member(intk){cout<<"Member(int)"<<endl;m_k=k;}~Member(){cout<<"~Member()"<<endl;}};classBase{private:intm_i;public:Base(){cout<<"Base()"<<endl;m_i=0;}Base(inti){cout<<"Base(int)"<<endl;m_i=i;}~Base(){cout<<"~Base()"<<endl;}};classDerived:publicBase{private:intm_j;Member m_m;public:Derived():Base(100),m_m(200){cout<<"Derived()"<<endl;}Derived(inti,intj):Base(i){cout<<"Derived(int, int)"<<endl;m_j=j;}~Derived(){cout<<"~Derived()"<<endl;}};intmain(void){Derived d1;//Derived d2(1,2);return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/10 1:05:56

【YOLOv13多模态创新改进】联合Mamba创新首发| SCI 一区2025| 引入CMFM 跨模态特征融合Mamba模块,实现 RGB与红外等多模态特征的高效融合,含多种创新改进,顶会顶刊发文热点

一、本文介绍 🔥本文给大家介绍使用 CMFM 跨模态特征融合Mamba模块改进 YOLOv13 多模态融合目标检测框架,可在保持实时性的前提下实现高效稳定的跨模态特征融合,充分利用可见光与红外信息的互补优势,显著提升复杂环境下的检测鲁棒性。该模块基于 Mamba 状态空间模型进行…

作者头像 李华
网站建设 2026/3/4 2:38:47

sql语言之分组语句group by

在sql语言中&#xff0c;group by 是分组语言语法是select 表达式 from 表名 group by 分组字段比如说上图的数据表&#xff0c;这是部分截图&#xff0c;表名叫table_tom&#xff0c;假如要按city字段进行分组&#xff0c;计算score各字段总和select sum("score") a…

作者头像 李华
网站建设 2026/3/10 6:46:35

jsp蛋糕甜品店管理系统4fx6j--(程序+源码+数据库+调试部署+开发环境)

本系统&#xff08;程序源码数据库调试部署开发环境&#xff09;带论文文档1万字以上&#xff0c;文末可获取&#xff0c;系统界面在最后面。 系统程序文件列表 用户,商品分类,商品尺寸,商品信息 开题报告内容 一、研究背景及意义 随着互联网的普及和消费者购物习惯的改变&…

作者头像 李华
网站建设 2026/3/9 10:36:27

PADS 多层板设计时怎么设置满足3W间距 或 不在某参考层布线

如何设置满足3W间距 在router中 右键选择网络 双击你要设置的网络 弹出 选择安全间距给这个网络添加一个特殊安全间距 比如其3w需10mil 我就 这样其与其他导线的安全距离就为10mil了 你布线时drc打开一不满足就会报错提示你 设置在参考层内不布线 如果你想要在哪个网络不…

作者头像 李华
网站建设 2026/3/10 11:56:48

省心绘制财务核算流程图零门槛操作画图超便捷高效

做财务工作的朋友&#xff0c;大概率都有过这样的困扰&#xff1a;领导让画一份财务核算流程图&#xff0c;自己要么不会用专业工具&#xff0c;要么工具操作太复杂&#xff0c;画一张图要耗费大半天时间&#xff1b;新手入门更是无从下手&#xff0c;对着空白画布不知道从何开…

作者头像 李华
网站建设 2026/3/8 11:42:23

博泰车联网智能座舱 Android 开发工程师的核心能力与实战挑战

博泰车联网科技(上海)股份有限公司 Android 应用开发工程师 职位信息 岗位职责: ① 参与需求分析,与产品、设计团队协同,精准把握智能座舱应用业务与用户需求; ② 开展性能优化,内化用户、CPU等关键指标,编写测试计划并执行多种测试,保障应用稳定; ③ 参与模块方案…

作者头像 李华