关于c++的 public,protected,private 的判断。

ReverseEngineering 2009-07-20 04:56:15
基类的对象只可以访问自己的 public 的成员变量和函数,protected 和 private的变量和函数则不能访问。

基类的函数可以访问自己的 public,protected 和 private的变量和函数。

派生类的对象和函数,不管什么继承,都不能访问基类的 private 的变量和函数。

派生类的函数,不管什么继承,都能访问基类的 public 和 protected 的变量和函数。

派生类的对象,只能在 public 继承时,访问基类的 public 的变量和函数。此外的任何情况都无法访问基类的变量和函数。



我想请教的是,以上我罗列的,是否涵盖了所有情况?是否遗漏了什么规则?

我罗列的对不对?请您指点!
...全文
103 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
kongbai308416350 2009-07-20
  • 打赏
  • 举报
回复
不要总是这样总结,意义不大.对着问题想方法.
djj2007 2009-07-20
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 liu2008hz 的回复:]
引用楼主 reverseengineering 的回复:
派生类的对象,只能在   public   继承时,访问基类的   public   的变量和函数。此外的任何情况都无法访问基类的变量和函数。
这句话好像不对吧:(如果说错,请大家不要笑,偶是C++初学者)

如果是private继承的话,是可以看到Public的变量和函数的吧,是不是?
[/Quote]


他说的是派生类的对象,你说的是派生类

对象是不能访问,类是可以访问的,基类的public成员被当做派生类的private成员来访问

private继承就是一种实现手段,用来调用基类的一些方法等
Hertz_liu 2009-07-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 reverseengineering 的回复:]
派生类的对象,只能在   public   继承时,访问基类的   public   的变量和函数。此外的任何情况都无法访问基类的变量和函数。[/Quote]
这句话好像不对吧:(如果说错,请大家不要笑,偶是C++初学者)

如果是private继承的话,是可以看到Public的变量和函数的吧,是不是?
机智的呆呆 2009-07-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 demon__hunter 的回复:]
C/C++ code//派生类的函数,除private继承外,其他的都能访问基类的 public 和 protected 的变量和函数。
[/Quote]
这个请无视,迷糊了~~~
机智的呆呆 2009-07-20
  • 打赏
  • 举报
回复

//派生类的函数,除private继承外,其他的都能访问基类的 public 和 protected 的变量和函数。
pengzhixi 2009-07-20
  • 打赏
  • 举报
回复
除友元外,情况全了
ltq678 2009-07-20
  • 打赏
  • 举报
回复
光宇广贞 2009-07-20
  • 打赏
  • 举报
回复
差不多吧……

private 只能自己看。
protected 一家子都能看。
public 外人可以看。

或者还有一个 internal,只一个模块内可见,也就是党组织内部共享……
ReverseEngineering 2009-07-20
  • 打赏
  • 举报
回复
各位老大,友元我一时没考虑进去!

如果不考虑友元,我罗列的对不对?还有否遗漏?
机智的呆呆 2009-07-20
  • 打赏
  • 举报
回复
友元无视访问权限控制的~~~
liuguangzhu 2009-07-20
  • 打赏
  • 举报
回复
不对
gykgod 2009-07-20
  • 打赏
  • 举报
回复
不对

友元类 友元函数 除外

gykgod 2009-07-20
  • 打赏
  • 举报
回复
不对

友元类 友元函数 除外

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧