C++ 派生类访问属性

举报
我是小白呀iamarookie 发表于 2021/09/10 00:59:07 2021/09/10
【摘要】 C++ 派生类访问属性 保护继承派生类成员的访问属性总结 保护继承 由 protected 声明的成员称为 “受保护的成员”, 或简称 “保护成员”. 从用户的角度来看, 保护成员等价于私...

保护继承

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

派生类成员的访问属性

4 种访问属性:

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

在这里插入图片描述

总结

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

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

文章来源: iamarookie.blog.csdn.net,作者:我是小白呀,版权归原作者所有,如需转载,请联系作者。

原文链接:iamarookie.blog.csdn.net/article/details/116728189

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。