保护继承
由 protected 声明的成员称为 “受保护的成员”, 或简称 “保护成员”.
从用户的角度来看, 保护成员等价于私有成员. 保护成员可以被派生类的成员函数引用.
派生类成员的访问属性
4 种访问属性:
- 公用的: 类内和类外都可以访问
- 受保护的: 类内可以访问, 类外不能访问, 下一层的派生类可以访问
- 私有的: 类内可以访问, 类外不能访问
- 不可访问的: 类内和类外都不能访问
继承方式 | 基类中的成员 | 访问属性 |
---|---|---|
公用继承 (public) | 公用成员和保护成员 | 在派生类中保持原有访问属性 |
公用继承 (public) | 私有成员 | 仍为基类私有, 派生类不可访问 |
私有继承 (private) | 公用成员和保护成员 | 在派生类中成了私有成员 |
私有继承 (private) | 私有成员 | 仍为基类私有, 派生类不可访问 |
受保护的继承 (protected) | 公用成员和保护成员 | 在派生类中成了保护成员 |
受保护的继承 (protected) | 私有成员 | 仍为基类私有, 派生类不可访问 |
总结
- 如果在多级派生时都采用公用继承方式, 那么直到最后一级派生类都能访问基类的公用成员和保护成员
- 如果采用私有继承的方式, 经过若干次派生之后, 基类的所有的成员已经变成不可访问的了
- 如果采用菜户继承方式, 在派生类外无法访问派生类中的任何成员. 而且经过多次派生后, 人们很难清楚的记住哪些成员可以访问, 哪些成员不能访问, 很容易出错
注: 实际开发中, 我们通常使用的是公共继承.
到此这篇关于C/C++中派生类访问属性详解及其作用介绍的文章就介绍到这了,更多相关C++派生类访问属性内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!