C++编程:继承、多态与类型系统深入解析
1. 继承与编程风格
1.1 继承中的错误示例
先看一段代码:
int main()
{
base b{42};
int x{b.value()};
derived d{};
int y{d.value()};
}
编译器会报错,提示 base 是私有的或者 derived 无法访问它。
1.2 编程风格建议
- 成员访问控制 :不确定时,将数据成员和成员函数设为私有。一旦成员成为公共接口的一部分,使用该类的人就可随意使用,会增加代码依赖。修改公共成员需要找出并修复所有依赖。所以要尽量缩小公共接口。若后续需要添加成员,可以添加,但移除成员或把公共成员改为私有则困难得多。为支持公共接口而添加成员时,将支持函数和数据成员设为私有。
- 继承方式 :使用公共继承而非私有继承。要记住,继承的成员也会成为派生类公共接口的一部分。若更改基类,可能需要在派生类中编写额外成员,以弥补原基类有但新基类缺失的成员。
2. 虚拟函数与类型多态
2.1 类型多态的概念
类型多态指类型 B 的变量能呈现从 B 派生的任何类的“形式”。在C++中,实现多态的关键是在基类中用 vi
超级会员免费看
订阅专栏 解锁全文
1051

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



