关于访问权限的问题

booter 2003-07-30 10:40:22
C++默认的是private吗?
能讲讲public,private,protected三者的用法吗?
...全文
27 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Goldbach 2003-08-02
  • 打赏
  • 举报
回复
public ------------其后声明的所有成员对所有的人都可以存取。
private除了该类对象的成员函数,友元函数之外 ,都不能存取这些成员
protected -----------private 基本相似,继承的结构可以访问protected 成员,
bluei 2003-08-01
  • 打赏
  • 举报
回复
1、public意味着在其后声明的所有成员对所有的人都可以存取。struct默认为public。
2、private关键字则意味着,除了该类型的创建者和类的内部成员函数之外,任何人都不能存取这些成员。private 在设计者与用户之间筑起了一道墙。如果有人试图存取一个私有成员,就会产生一个编译错误。class默认为private。
3、protected 与private 基本相似,只有一点不同:继承的结构可以访问protected 成员,但不能访问private 成员。

另外,如果程序员想允许不属于当前结构的一个成员函数存取结构中的数据,可以在struct 内部声明这个函数为友元。注意,一个友元必须在一个struct 内声明。
jyfcsdn 2003-08-01
  • 打赏
  • 举报
回复
C++是一种支持面向对象概念的语言,访问权限也属于面向对象/基于对象的概念范畴,所以因该从这个角度来看。具体来说,涉及到封装性。
数据成员:
面向对象讲究类对自己负责,也就是自己的东西自己知道,所以几乎所有的数据成员的访问权限都应该为private.

有些数据成员你可能希望除了自己用还可以让子孙用,这时访问权限就应该为protected,但是这样还是打破了封装性。所以在MFC 的help中你可以看到,有些类的数据成员是protected,但后面加了一句,子孙成员做好只读区内容而不要随意设置它。

数据成员避免使用public.


Smartdoggie 2003-07-31
  • 打赏
  • 举报
回复
什么时候用protected好??
zhoulingj 2003-07-30
  • 打赏
  • 举报
回复
???看书啊
private和protected基本一样
只是继承的时候有点不同
inethax 2003-07-30
  • 打赏
  • 举报
回复
private: 私有属性,只有类内方法可以访问
public: 公共属性,类内和类外均可访问
protected:保护属性,类内和派生方法可以访问。

呵呵。。。说的比较简单点了。。。
yjh1982 2003-07-30
  • 打赏
  • 举报
回复
class 默认的是private
struct 是public

65,208

社区成员

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

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