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

2026/6/4 继承与多态

一、继承

为什么要继承?

比如你要写老师和学生两个类,他们都有名字、生日等信息,也都有吃饭、睡觉等行为。
那么如果分开定义,不仅麻烦,想要修改的时候也只能挨个修改,效率很低。

那么有什么简单的方法吗?有的兄弟有的,那就是继承。

我们可以创造一个父类(基类),里面装着这些对象的共同点,这时候我们创造对象,直接在这个父类的基础上创建即可,想要修改也直接修改父类即可,十分方便。

继承的代码实现

首先创造一个父类:

// 父类:人(所有人类的公共属性和方法)
class Person
{
public:// 公共属性std::string name;int age;// 公共方法void eat() { std::cout << name << "在吃饭\n"; }void sleep() { std::cout << name << "在睡觉\n"; }// 父类构造函数Person(std::string n, int a) : name(n), age(a) {}
};

然后在父类的基础上创建子类,语法为 class 子类名 : public 父类名

// 子类:学生,继承自Person
class Student : public Person
{
public:// 学生独有的属性int studentId;// 学生独有的方法void study() { std::cout << name << "在上课\n"; }// 子类构造函数:必须先调用父类构造!Student(std::string n, int a, int id) : Person(n, a), studentId(id) {}
};// 子类:老师,继承自Person
class Teacher : public Person
{
public:std::string subject;void teach() { std::cout << name << "在讲" << subject << "\n"; }Teacher(std::string n, int a, std::string s) : Person(n, a), subject(s) {}
};

使用时直接当作正常的对象使用即可:

int main()
{Student s("小明", 18, 2024001);Teacher t("王老师", 35, "数学");// 子类自动拥有父类的所有方法!s.eat();    // 小明在吃饭s.sleep();  // 小明在睡觉s.study();  // 小明在上课(自己的方法)t.eat();    // 王老师在吃饭t.sleep();  // 王老师在睡觉t.teach();  // 王老师在讲数学(自己的方法)
}
http://www.zskr.cn/news/1462721.html

相关文章:

  • 山东链板输送机厂家技术解析与选型参考 - 奔跑123
  • 2026年6月水空调厂家推荐榜单:天氟地水空调地暖一体/中央水空调/空气能水空调/无冷凝水空调及壁挂式水空调品牌精选 - 企业推荐官【官方】
  • 苏州空调维修移机拆装哪家好?鑫诚制冷|嘉一制冷本地空调拆装|2026最新空调维修移机拆装收费标准明细 - 卓一科技
  • 突破Windows 10限制:Windows Subsystem for Android创新移植方案深度指南
  • 从4K到2M:动手调整Linux内核页大小,实测对程序性能与内存占用的影响
  • 从房价预测到用户增长:最小二乘法在真实业务场景中的实战与避坑指南
  • 别再手动导数据了!用Simulink Model Properties的PreLoadFcn,5分钟搞定模型启动自动化
  • Ubuntu 18.04下Tesla M40显卡驱动安装避坑:BIOS里这个‘Above 4G Decoding’开关千万别忘开
  • 别急着重启!小米妙享中心连不上?先试试关闭Windows这个隐藏功能
  • 终极Raylib跨平台游戏开发指南:从零开始打造专业级游戏
  • 基于PSOBP_NSGA2_Topsis粒子群算法优化BP做代理预测模型目标遗传NSGA2和Topsis求最优解研究附Matlab代码
  • 2026年乌鲁木齐彩涂板厂家推荐-天物彩板集团-现货充足 - 企品推
  • 3PEAK思瑞浦 TP1512-VR MSOP8 运算放大器
  • 大模型学习python基础——函数参数的传递
  • Unity InputSystem 虚拟摇杆进阶:三种模式(固定/跟随/灵活)的完整实现与性能对比
  • 26年春季学期学习记录第41天
  • MySQL Binlog配置避坑指南:手把手教你为Maxwell搭建完美运行环境
  • 5分钟快速上手:让普通鼠标在Mac上超越苹果触控板的终极方案
  • 2026 惠州防水补漏商家深度测评|附近卫生间、外墙、屋顶漏水维修上门哪家靠谱,同城 5 家正规防水机构实测对比 - 吉林同城获客
  • 5大核心功能构建:DistroAV NDI插件在OBS中的专业网络视频架构
  • B站成分检测器:3步快速上手,评论区用户身份一目了然
  • 有海外模块的大湾区EMBA推荐|5大国际化高管深造项目盘点 - 品牌2026推荐
  • Atcoder - 460 - E - x + y ≡ x + y
  • 工业相机选型与镜头参数完全指南:从原理到落地的关键决策
  • 揭秘文本转图表工具的效率革命:如何用代码思维重塑可视化工作流
  • WiiM Bar 7 月发布:479 美元打破高音质高价魔咒,拓展全屋音频生态
  • 明日方舟素材库终极指南:免费获取完整游戏资源实战秘籍
  • 3个技巧:用Draw.io Mermaid插件实现代码驱动图表设计
  • 3分钟免费激活IDM完整版:终极下载体验解锁指南
  • 年度必看!2026AI论文写作软件榜单(覆盖 99% 毕业论文需求)