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

【C++】【继承】【子对象】【构造函数】含子对象的派生类的构造函数写法

(1)子对象的概念:若派生类A1的数据成员中包含基类A的对象a,则a为派生类A1的子对象
(2)含子对象的派生类的构造函数的执行顺序是:
①调用基类构造函数,对基类数据成员初始化
②调用子对象构造函数,对子对象数据成员初始化
③执行派生类构造函数本身,对派生类数据成员初始化
(3)含子对象的派生类的构造函数的一般形式:
派生类构造函数名(总参数表):基类构造函数名(参数表),子对象名(参数表){派生类中新增数据成员初始化语句}
【代码实例】下面正确运行

#include "bits/stdc++.h" 
#include<iostream>
using namespace std;class Student{ //基类 public:Student(int n,string nam){num=n;name=nam;}void display(){cout<<"num:"<<num<<endl<<"name:"<<name<<endl;}protected:int num;string name;}; class Student1:public Student{ //派生类 public:Student1(int n,string nam,int n1,string nam1,int a,string ad):Student(n,nam),monitor(n1,nam1){ //【核】含子对象的派生类构造函数写法 age=a;addr=ad;}void show(){cout<<"This student is:"<<endl;display();cout<<"age:"<<age<<endl;cout<<"address:"<<addr<<endl<<endl;}void show_monitor(){cout<<endl<<"Class monitor is:"<<endl;monitor.display();}private:Student monitor; //子对象 int age;string addr;
};int main(){Student1 stud1(10010,"Wang_li",10001,"Li_sun",19,"115北京,上海路"); stud1.show();stud1.show_monitor(); //输出子对象的数据 return 0;  
}

在这里插入图片描述

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

相关文章:

  • golang语言 .go文件版本条件编译,xxx.go文件指定go的编译版本必须大于等于xxx才生效的方法, 同一个项目多个go版本文件共存方法
  • 深入浅出mediasoup—通信框架
  • 每日一题 LeetCode03 无重复字符的最长字串
  • 栈和队列(C语言)
  • swagger-ui.html报错404
  • Milvus 核心组件(3)--- MinIO详解
  • [数据集][目标检测]婴儿车检测数据集VOC+YOLO格式1073张5类别
  • JAVASE进阶day14(网络编程续TCP,日志)
  • 机器学习(五) -- 无监督学习(1) --聚类1
  • leetcode 116. 填充每个节点的下一个右侧节点指针
  • [C++]优先级队列
  • 学习大数据DAY22 Linux 基 本 指 令 3与 在 Linux 系 统 中 配 置MySQL 和 Oracle
  • scp 服务器复制命令
  • PyQt5学习路线
  • 2024论文精读:利用大语言模型(GPT)增强上下文学习去做关系抽取任务
  • WEB 手柄 http通信,mcu端解析代码 2024/7/23 日志
  • cmake中的正则表达式
  • 05. Java 三大范式
  • opencv 按键开启连续截图,并加载提示图片
  • Android-- 集成谷歌地图
  • Jvm是如何处理异常的
  • recursion depth exceeded” error
  • 虚拟现实和增强现实技术系列—Expressive Talking Avatars
  • 网站验证:确保网络安全与信任的重要步骤
  • C语言——字符串比较函数strcmp和strncmp
  • redis的集群模式
  • 基于微信小程序+SpringBoot+Vue的青少年科普教学系统平台(带1w+文档)
  • 智能听觉:从任务特定的机器学习到基础模型
  • 14、如何⽤DDD设计微服务代码模型
  • ArcGIS Pro SDK (九)几何 12 多面体