C++派生类访问属性 C/C++中派生类访问属性详解及其作用介绍
我是小白呀 人气:0想了解C/C++中派生类访问属性详解及其作用介绍的相关内容吗,我是小白呀在本文为您仔细讲解C++派生类访问属性的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:C++派生类访问属性,C++派生类,下面大家一起来学习吧。
保护继承
由 protected 声明的成员称为 “受保护的成员”, 或简称 “保护成员”.
从用户的角度来看, 保护成员等价于私有成员. 保护成员可以被派生类的成员函数引用.
派生类成员的访问属性
4 种访问属性:
- 公用的: 类内和类外都可以访问
- 受保护的: 类内可以访问, 类外不能访问, 下一层的派生类可以访问
- 私有的: 类内可以访问, 类外不能访问
- 不可访问的: 类内和类外都不能访问
继承方式 | 基类中的成员 | 访问属性 |
---|---|---|
公用继承 (public) | 公用成员和保护成员 | 在派生类中保持原有访问属性 |
公用继承 (public) | 私有成员 | 仍为基类私有, 派生类不可访问 |
私有继承 (private) | 公用成员和保护成员 | 在派生类中成了私有成员 |
私有继承 (private) | 私有成员 | 仍为基类私有, 派生类不可访问 |
受保护的继承 (protected) | 公用成员和保护成员 | 在派生类中成了保护成员 |
受保护的继承 (protected) | 私有成员 | 仍为基类私有, 派生类不可访问 |
总结
- 如果在多级派生时都采用公用继承方式, 那么直到最后一级派生类都能访问基类的公用成员和保护成员
- 如果采用私有继承的方式, 经过若干次派生之后, 基类的所有的成员已经变成不可访问的了
- 如果采用菜户继承方式, 在派生类外无法访问派生类中的任何成员. 而且经过多次派生后, 人们很难清楚的记住哪些成员可以访问, 哪些成员不能访问, 很容易出错
注: 实际开发中, 我们通常使用的是公共继承.
加载全部内容