C++ 派生类访问属性

Posted 我是小白呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 派生类访问属性相关的知识,希望对你有一定的参考价值。

保护继承

由 protected 声明的成员称为 “受保护的成员”, 或简称 “保护成员”.
从用户的角度来看, 保护成员等价于私有成员. 保护成员可以被派生类的成员函数引用.
在这里插入图片描述

派生类成员的访问属性

4 种访问属性:

  • 公用的: 类内和类外都可以访问
  • 受保护的: 类内可以访问, 类外不能访问, 下一层的派生类可以访问
  • 私有的: 类内可以访问, 类外不能访问
  • 不可访问的: 类内和类外都不能访问
继承方式基类中的成员访问属性
公用继承 (public)公用成员和保护成员在派生类中保持原有访问属性
公用继承 (public)私有成员仍为基类私有, 派生类不可访问
私有继承 (private)公用成员和保护成员在派生类中成了私有成员
私有继承 (private)私有成员仍为基类私有, 派生类不可访问
受保护的继承 (protected)公用成员和保护成员在派生类中成了保护成员
受保护的继承 (protected)私有成员仍为基类私有, 派生类不可访问

在这里插入图片描述

总结

  • 如果在多级派生时都采用公用继承方式, 那么直到最后一级派生类都能访问基类的公用成员和保护成员
  • 如果采用私有继承的方式, 经过若干次派生之后, 基类的所有的成员已经变成不可访问的了
  • 如果采用菜户继承方式, 在派生类外无法访问派生类中的任何成员. 而且经过多次派生后, 人们很难清楚的记住哪些成员可以访问, 哪些成员不能访问, 很容易出错

注: 实际开发中, 我们通常使用的是公共继承.

以上是关于C++ 派生类访问属性的主要内容,如果未能解决你的问题,请参考以下文章

c++继承是如何工作的?

C++ 继承&多态

C++基类和派生类的构造函数

C++ 派生模板类:访问实例的受保护成员

关于C++基类、派生类的引用和指针

C++类的继承与派生