C++ 单继承与多态:从基础到应用
1. 单继承基础回顾
在 C++ 编程中,单继承是面向对象编程的重要特性之一。通过单继承,我们能够实现类的泛化和特化,构建相关类的层次结构。
首先,我们了解了如何使用单继承来扩展继承层次结构,以及如何访问继承的数据成员和成员函数。在访问成员时,需要依据基类中成员定义的访问区域来确定哪些继承成员可以被直接访问。例如,当基类为公共基类时,就定义了一种 “Is - A” 关系,这是继承最常用的原因,支持了泛化和特化的理想。
在创建派生类对象时,构造函数和析构函数的调用顺序也有明确的规则。派生类对象在构造时,会先调用基类的构造函数,而在析构时,会先调用派生类的析构函数,再调用基类的析构函数。我们可以使用成员初始化列表来选择派生类对象在构造其基类子对象时所使用的基类构造函数。
此外,改变基类列表中的访问标签会改变所使用的继承类型的面向对象含义。通过比较公共、私有和受保护基类,我们可以理解不同类型的层次结构,比如用于支持 “Is - A” 关系的层次结构和用于支持实现继承的层次结构。基类在层次结构中可以作为更专业组件的潜在构建块,实现代码的潜在重用,从而节省开发时间并减少重复代码的维护成本。
2. 单继承层次结构的实现练习
下面通过具体的练习来加深对单继承的理解。
2.1 构建 Person 和 Student 类的继承层次结构
- 步骤 a :分析 Student 类的数据成员和成员函数,将更通用的部分提取到 Person 类中。Person 类应包含适当的构造函数(默认、替代和复制构造函数)、析构函
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



