小学生学C++编程语法知识(什么是类的继承)
C面向对象核心什么是类的继承——从“孩子继承父母”理解 C 继承机制对于小学生可以先记一句话继承就是让一个新的类拥有另一个已有类的功能并且可以增加自己新的功能。就像现实生活爸爸 ↓ 孩子孩子可以继承爸爸的一些特点同时拥有自己的特点。在 C 中基类父类 ↓ 派生类子类一、为什么需要继承假设我们写一个动物程序。有class Dog { }; class Cat { };狗和猫都有年龄名字吃东西睡觉如果每个类都写一遍class Dog { public: int age; void eat() { } }; class Cat { public: int age; void eat() { } };会发现大量重复。程序员想能不能把共同的东西放一起于是有了继承。二、先创建一个父类基类例如class Animal { public: int age; void eat() { cout 吃东西 endl; } };Animal表示“所有动物都有的东西”。然后狗class Dog : public Animal { };这里:表示继承。public Animal表示Dog公开继承Animal。关系Animal | | Dog三、继承以后Dog有什么虽然 Dog 类里面什么都没有class Dog : public Animal { };但是Dog自动拥有int age;和eat()例如int main() { Dog d; d.age 3; d.eat(); }输出吃东西为什么因为Dog继承了Animal。四、继承的本质是什么很多小朋友会误解Dog里面没有代码为什么有功能实际上继承以后Dog对象里面包含---------------- | Animal部分 | | | | age | | eat() | ---------------- | Dog自己的部分 | ----------------也就是说子类对象里面包含父类部分。五、父类和子类的专业名字C中生活C爸爸基类Base Class孩子派生类Derived Class继承Inheritance例如class Dog : public Animal { };Animal基类。Dog派生类。六、派生类可以增加自己的功能继承不是简单复制。例如动物class Animal { public: void eat() { cout吃东西endl; } };狗class Dog : public Animal { public: void bark() { cout汪汪叫endl; } };现在Dog拥有父类eat()自己bark()使用Dog d; d.eat(); d.bark();输出吃东西 汪汪叫七、继承中最重要的三个权限继承有三种方式class Dog : public Animal还有class Dog : protected Animal和class Dog : private Animal对于初学者重点掌握public继承八、public继承是什么意思看class Animal { public: int age; protected: int weight; private: string name; };然后class Dog : public Animal { };结果父类成员Dog能否直接使用public可以protected可以private不可以例如class Animal { public: int age; private: string name; }; class Dog:public Animal { }; int main() { Dog d; d.age5; //可以 d.name旺财; //错误 }为什么因为private是父类自己的秘密。九、为什么父类private不能被子类访问可以理解爸爸有一个私人日记爸爸 公开: 身高 保护: 钱包 私密: 日记孩子可以知道身高。可能知道钱包。但是不能直接打开爸爸日记。所以private成员子类也不能访问。十、构造函数和继承这是考试重点。例如class Animal { public: Animal() { coutAnimal构造endl; } }; class Dog:public Animal { public: Dog() { coutDog构造endl; } };创建Dog d;执行顺序先Animal构造再Dog构造为什么因为Dog身体里面先有Animal部分。所以先造爸爸。再造孩子。十一、析构函数顺序刚好相反。创建Animal构造 ↓ Dog构造销毁Dog析构 ↓ Animal析构口诀构造先父后子析构先子后父十二、继承和普通包含有什么区别很多孩子容易混淆继承is-a意思“是一个”例如Dog 是 Animal所以Dog : Animal包含has-a意思“拥有一个”例如汽车Car | |-- Engine汽车不是发动机。所以不是继承。十三、一个完整例子#includeiostream using namespace std; class Animal { public: string name; void eat() { cout动物吃东西endl; } }; class Dog:public Animal { public: void bark() { cout狗叫汪汪endl; } }; int main() { Dog d; d.name旺财; d.eat(); d.bark(); return 0; }运行动物吃东西 狗叫汪汪十四、记忆总结什么是继承一句话继承就是子类自动获得父类已有的属性和函数并且可以增加自己的功能。继承关系父类 Animal | | 子类 Dog三个核心1. 子类拥有父类功能Dog d; d.eat();2. 子类可以扩展d.bark();3. 创建顺序构造 父 → 子 析构 子 → 父十五、和后面虚函数的联系学习到这里后面会遇到Animal *p; Dog dog; pdog;为什么父类指针可以指向子类对象为什么需要virtual这就是 C 面向对象的多态Polymorphism所以继承是 C 三大面向对象特性之一封装 ↓ 继承 ↓ 多态理解继承是学习虚函数、抽象类、设计模式的基础。

相关新闻

Open Code Review 实测,这个 GitHub 热门代码审查 Skill 值得装吗

Open Code Review 实测,这个 GitHub 热门代码审查 Skill 值得装吗

大家好,我是大煊。 最近我把 Open Code Review 接进了 Codex,使用的是委托模式。Open Code Review 负责筛选文件、匹配审查规则,真正读代码和给出判断的还是 Codex。 项目特征描述项目名称Open Code Review项目地址https://github.com/alib…

2026/10/16 19:03:23 阅读更多 →
AI Agent如何理解自然语言指令并操作电脑?从Energy看自动化新范式

AI Agent如何理解自然语言指令并操作电脑?从Energy看自动化新范式

1. 先搞清楚 Energy 到底是什么,以及它和普通自动化脚本的区别 最近看到 Gabriel 离开 OpenAI 后推出的 Energy 项目,很多讨论都集中在“AI 代操作电脑”这个听起来很科幻的概念上。但如果你真的想用它,或者想理解它的价值,第一件…

2026/10/18 23:59:59 阅读更多 →
Unity 2D点击交互:Physics2D.OverlapPoint与Raycast方案对比与实战

Unity 2D点击交互:Physics2D.OverlapPoint与Raycast方案对比与实战

1. 项目概述:为什么鼠标点击交互是2D游戏开发的“灵魂”? 在Unity 2D游戏开发的世界里,无论是点击卡牌、选择角色、触发机关,还是拖动UI,鼠标(或触屏)点击交互都是玩家与游戏世界沟通最直接、最…

2026/10/17 23:44:43 阅读更多 →

最新新闻

Neo4j Community版安装配置全指南:从解压到稳定运行

Neo4j Community版安装配置全指南:从解压到稳定运行

简介:本资源为 Neo4j 社区版 5.19.0 安装包,面向知识图谱初学者、LLM 应用开发者及中小型项目团队,提供开箱即用的图数据库运行环境,解决结构化关系数据建模、高效图遍历与 Cypher 查询实践等核心需求。压缩包共253个文件&#xf…

2026/10/20 5:25:07 阅读更多 →
Playwright codegen 加 Skills 提示词:高效生成 UI 自动化测试脚本

Playwright codegen 加 Skills 提示词:高效生成 UI 自动化测试脚本

1. 为什么我最终选了 Playwright codegen 加 Skills 这条路线UI 自动化测试这件事,做过的人都懂,最磨人的不是写断言,而是那些重复到令人发指的定位和操作代码。一个中等规模的 Web 系统,登录、导航、表单填写、列表查询、弹窗确认…

2026/10/20 5:25:07 阅读更多 →
AI电销机器人生产级部署:低延迟语音链路与合规对话引擎实战

AI电销机器人生产级部署:低延迟语音链路与合规对话引擎实战

简介:本资源是一份面向软件开发初学者与中小团队技术负责人的AI电销机器人源码部署实操包,聚焦解决语音外呼类SaaS系统本地化快速落地难题。压缩包仅6KB,含3个核心文件:.inscode(含环境校验与一键初始化逻辑的安装脚本…

2026/10/20 5:25:07 阅读更多 →
Playwright codegen 录制 + AI 补全:高效构建稳定 UI 自动化脚本

Playwright codegen 录制 + AI 补全:高效构建稳定 UI 自动化脚本

1. UI 自动化脚本的困境与破局思路做过 UI 自动化的朋友应该都有体会,写脚本这件事本身并不难,难的是“写得快、写得稳、写得省”。一个中等规模的 Web 项目,页面元素动辄几百个,每个元素都要定位、等待、断言,纯手写脚…

2026/10/20 5:25:07 阅读更多 →
OpenClaw嵌入式可信加固:启动度量+模型签名+MPU内存隔离

OpenClaw嵌入式可信加固:启动度量+模型签名+MPU内存隔离

简介:本资源是面向AI工程实践者与自托管开发者的安全加固实战指南,聚焦OpenClaw这一开源自托管个人AI代理的全链路安全防护。针对其易暴露、权限宽松、插件生态风险高等典型问题,提供从安装后立即执行的基础检查、核心配置文件加密与权限收紧…

2026/10/20 5:25:07 阅读更多 →
多模态模型意图歧义破解:VisInteract交互搜索机制与工程实践

多模态模型意图歧义破解:VisInteract交互搜索机制与工程实践

1. 从“自作主张”说起:多模态模型到底缺了什么做过多模态大模型应用的人大概都有过这种体验:你给模型一张图,问它“这个东西怎么用”,它洋洋洒洒给你写了一大段,看起来头头是道,但仔细一读,它回…

2026/10/20 5:24:06 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →