C++ 派生类访问属性
Posted 我是小白呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 派生类访问属性相关的知识,希望对你有一定的参考价值。
C++ 派生类访问属性
保护继承
由 protected 声明的成员称为 “受保护的成员”, 或简称 “保护成员”.
从用户的角度来看, 保护成员等价于私有成员. 保护成员可以被派生类的成员函数引用.
派生类成员的访问属性
4 种访问属性:
- 公用的: 类内和类外都可以访问
- 受保护的: 类内可以访问, 类外不能访问, 下一层的派生类可以访问
- 私有的: 类内可以访问, 类外不能访问
- 不可访问的: 类内和类外都不能访问
继承方式 | 基类中的成员 | 访问属性 |
---|---|---|
公用继承 (public) | 公用成员和保护成员 | 在派生类中保持原有访问属性 |
公用继承 (public) | 私有成员 | 仍为基类私有, 派生类不可访问 |
私有继承 (private) | 公用成员和保护成员 | 在派生类中成了私有成员 |
私有继承 (private) | 私有成员 | 仍为基类私有, 派生类不可访问 |
受保护的继承 (protected) | 公用成员和保护成员 | 在派生类中成了保护成员 |
受保护的继承 (protected) | 私有成员 | 仍为基类私有, 派生类不可访问 |
总结
- 如果在多级派生时都采用公用继承方式, 那么直到最后一级派生类都能访问基类的公用成员和保护成员
- 如果采用私有继承的方式, 经过若干次派生之后, 基类的所有的成员已经变成不可访问的了
- 如果采用菜户继承方式, 在派生类外无法访问派生类中的任何成员. 而且经过多次派生后, 人们很难清楚的记住哪些成员可以访问, 哪些成员不能访问, 很容易出错
注: 实际开发中, 我们通常使用的是公共继承.
以上是关于C++ 派生类访问属性的主要内容,如果未能解决你的问题,请参考以下文章