news 2026/2/16 19:49:15

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/2/16 11:49:19

基于Spring Boot的绥大学生学习平台管理系统的设计与实现

&#x1f345; 作者主页&#xff1a;Selina .a &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作。 主要内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据…

作者头像 李华
网站建设 2026/2/15 10:53:08

哪些招聘软件平台效果好?最新招聘平台权威排行

哪些招聘软件平台效果好&#xff1f;最新招聘平台权威排行在求职竞争日益激烈的当下&#xff0c;选择一个高效、真实、匹配度高的招聘平台&#xff0c;已成为职场人成功入职的关键一步。据《中国日报网》《新京报》等多家权威媒体2025—2026年报道&#xff0c;传统“海投简历”…

作者头像 李华
网站建设 2026/2/16 16:17:42

技术的便利,从来都不属于开发者

技术的便利&#xff0c;从来都不属于开发者 我们总被灌输一个共识&#xff1a;技术的发展是为了让人类更轻松。打开手机就能完成支付&#xff0c;点击鼠标就能部署应用&#xff0c;滑动屏幕就能连接世界——这些触手可及的便利&#xff0c;让每个人都能感受到技术迭代的温度。但…

作者头像 李华
网站建设 2026/2/16 16:17:36

燃爆!大数据OLAP在电力行业的创新应用

燃爆&#xff01;大数据OLAP在电力行业的创新应用 摘要/引言 "2023年夏季&#xff0c;某省电网在用电高峰期间成功避免了大规模停电事故&#xff0c;这背后是一个每天处理超过10亿条电力数据的OLAP系统在默默支撑。"这个真实案例揭示了一个不争的事实&#xff1a;电…

作者头像 李华
网站建设 2026/2/15 3:17:44

Java毕设项目推荐-基于springboot的学生宿舍管理系统的设计与实现宿舍资源管理、学生入住、费用管理、设备报修、访客登记【附源码+文档,调试定制服务】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/2/15 11:56:06

llm使用 AgentScope-Tuner 通过 RL 训练 FrozenLake 智能体

agentscope-samples/tuner/frozen_lake at main agentscope-ai/agentscope-samples --- agentscope-samples/tuner/frozen_lake at main agentscope-ai/agentscope-samples At least 2 NVIDIA GPUs with CUDA 12.8 or newer 至少需要 2 块 NVIDIA GPU&#xff0c;支持 CUDA 1…

作者头像 李华