C++编程:继承基础与示例
需积分: 9 117 浏览量
更新于2024-07-19
收藏 1.06MB PDF 举报
"C++教程中的继承概念,包括子类继承父类的机制,成员的划分,以及覆盖或重写父类函数的规则。"
在C++编程语言中,继承是一种核心特性,它允许创建一个新类(派生类或子类)基于已存在的类(基类或父类)。这个过程使得代码的重用和类的组织更加有效。标题"(8)继承1"指出了这是关于C++继承系列讲座的第一个部分。
1. **继承的概念**
类A可以继承类B,此时类B被称为基类或父类,而类A则成为派生类或子类。这种关系意味着子类获取了父类的所有非私有成员(不包括构造函数、析构函数和赋值运算符重载)。
2. **成员的继承与划分**
子类继承的成员分为两部分:一部分是继承自父类的成员(base part),包括公有和保护成员;另一部分是子类自己新增的成员(appendent part),这部分是子类特有的。
3. **私有成员的访问**
虽然私有成员在继承过程中被子类继承,但子类仍然不能直接访问这些私有成员。子类可以通过父类提供的公共接口(公有成员函数)间接访问这些私有成员。
4. **函数覆盖或重写**
子类可以定义与父类相同名称和参数列表的成员函数,这被称为覆盖或重写。重写的目的是在子类中提供不同的实现,或者扩展父类的功能。
5. **调用父类的成员**
当需要在子类中调用被覆盖的父类函数时,可以使用作用域解析运算符`::`,例如`Base::function()`来明确指定调用父类的版本。这在需要使用父类原有功能时非常有用。
示例代码展示了如何声明和使用继承的类。`Base`是基类,具有一个私有成员`b_number`和两个公共成员函数:`get_number()`和`print()`。`Derived`是子类,继承了`Base`并添加了自己的私有成员`d_number`。子类`Derived`也定义了一个`print()`函数,覆盖了父类的`print()`。在`Derived`的`print()`函数中,通过调用`get_number()`间接访问了父类的私有成员。
通过理解和掌握继承这一概念,开发者可以构建更复杂、层次分明的类结构,有效地复用代码,并实现多态性,这是面向对象编程中的关键原则。在实际开发中,继承常用于表示“is-a”关系,如“汽车是一个交通工具”,在这种情况下,`Car`类可以从`Vehicle`类继承。
2019-05-01 上传
2013-07-24 上传
2021-01-01 上传
2021-01-20 上传
2016-10-25 上传
2018-04-04 上传
unity商务定制
- 粉丝: 16
- 资源: 11
最新资源
- 天池大数据比赛:伪造人脸图像检测技术
- ADS1118数据手册中英文版合集
- Laravel 4/5包增强Eloquent模型本地化功能
- UCOSII 2.91版成功移植至STM8L平台
- 蓝色细线风格的PPT鱼骨图设计
- 基于Python的抖音舆情数据可视化分析系统
- C语言双人版游戏设计:别踩白块儿
- 创新色彩搭配的PPT鱼骨图设计展示
- SPICE公共代码库:综合资源管理
- 大气蓝灰配色PPT鱼骨图设计技巧
- 绿色风格四原因分析PPT鱼骨图设计
- 恺撒密码:古老而经典的替换加密技术解析
- C语言超市管理系统课程设计详细解析
- 深入分析:黑色因素的PPT鱼骨图应用
- 创新彩色圆点PPT鱼骨图制作与分析
- C语言课程设计:吃逗游戏源码分享