当前位置: 首页 > 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.jsqmd.com/news/951099/

相关文章:

  • 苏州空调维修移机拆装哪家好?鑫诚制冷|嘉一制冷本地空调拆装|2026最新空调维修移机拆装收费标准明细 - 卓一科技
  • 销售与客户管理和研发管理:从获客到产品的AI痛点
  • 告别重启!手把手教你用Livepatch给Linux内核打热补丁(附实战避坑)
  • 2026甄选:福州仓山区与市区车辆四轮定位服务公司解析 - 品牌企业推荐师(官方)
  • 突破Windows 10限制:Windows Subsystem for Android创新移植方案深度指南
  • Flash逆向工程终极方案:JPEXS开源反编译器的实战应用指南
  • YOLOv3实战:手把手教你理解Anchor Box、置信度与类别概率的底层逻辑(附代码解析)
  • 2026年北京污水处理设备供应厂家:一体化/工业/医院/化工/餐饮/地埋式/养殖场/食品厂/生活污水处理设备企业深度解析 - 品牌企业推荐师(官方)
  • 从4K到2M:动手调整Linux内核页大小,实测对程序性能与内存占用的影响
  • 别再傻傻复制粘贴了!保姆级教程:用lsb_release命令一键获取Ubuntu版本代号,精准换源(阿里/清华源)
  • 德州网带输送机厂家技术分享:选型与适配指南 - 奔跑123
  • 平开式防火窗密封防火工艺与启闭实用可靠性探究
  • 中英双语授课的大湾区EMBA怎么选?2026五大优质项目深度盘点 - 品牌2026推荐
  • MATLAB配电网可靠性仿真包:对比分析分布式电源接入前后的故障率与停电指标
  • 从房价预测到用户增长:最小二乘法在真实业务场景中的实战与避坑指南
  • 别再手动导数据了!用Simulink Model Properties的PreLoadFcn,5分钟搞定模型启动自动化
  • 2026抖音上哪家卖玉石的店铺比较靠谱?玉老大和田玉2号店全网推荐,省级大师坐镇,源头直供所见即所得 - 资讯纵览
  • 华硕笔记本终极性能管理指南:GHelper轻量级控制工具完整教程
  • 别急着重启!小米妙享中心连不上?先试试关闭Windows这个隐藏功能
  • Ubuntu 18.04下Tesla M40显卡驱动安装避坑:BIOS里这个‘Above 4G Decoding’开关千万别忘开
  • 解析博尚木材削片机的“大脑”与“心脏”:PLC智能控制与动力系统深度拆解 - 会飞的懒猪
  • AI时代的时间分配:从执行者到审查者(深度解析)
  • 提升qorder开发效率:用快马AI一键生成智能订单计价与优惠核销模块
  • 终极Raylib跨平台游戏开发指南:从零开始打造专业级游戏
  • 你的events.out.tfevents文件用对了吗?TensorBoard高级用法与常见问题排查指南
  • 深入理解SO_REUSEADDR和SO_REUSEPORT:在Linux上实现高性能多进程服务
  • 苏泊尔0涂层电饭煲全价位选购:400元到800元,哪款是你的菜? - 资讯纵览
  • 告别黑窗口:用VcXsrv给WSL2装上图形界面,保姆级配置教程(含WSL1/WSL2差异)
  • 基于PSOBP_NSGA2_Topsis粒子群算法优化BP做代理预测模型目标遗传NSGA2和Topsis求最优解研究附Matlab代码
  • 超越Easy Touch!用Fingers Gesture在Unity里快速实现3D物体拖拽旋转与虚拟摇杆