关于类中私有成员变量的访问问题

youyouwys 2013-01-15 08:24:02
class a
{public:
a(int x):m(x){}
void outsee(a y);
private:
int m;
}
void a::outsee(a y)
{
cout<<y.m<<endl;//这里可以访问另一个对象的私有成员????
}
main()
{.......
a c1(3),c2(4);
c1.outsee(c2);//为什么这里能输出c2.m????
......
}
难道因为类的成员函数都是公用的,所以不同对象可以通过成员函数实现访问不同对象的私有成员变量????
...全文
264 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lee_鹿游原 2013-01-15
  • 打赏
  • 举报
回复
引用 6 楼 lile1234_show 的回复:
不同的类不能访问其私有成员变量,相同类的不同对象是可以访问其私有变量的。
前提是类内 , 本类内可以通过this指针访问其私有成员..
youyouwys 2013-01-15
  • 打赏
  • 举报
回复
哦哦,这样啊谢谢啦~~~
lee_鹿游原 2013-01-15
  • 打赏
  • 举报
回复
不同的类不能访问其私有成员变量,相同类的不同对象是可以访问其私有变量的。
youyouwys 2013-01-15
  • 打赏
  • 举报
回复
对啊,是类内函数,可是定义了两个不同的对象啊
lee_鹿游原 2013-01-15
  • 打赏
  • 举报
回复
你说outsee 是什么?是不是类内函数..
youyouwys 2013-01-15
  • 打赏
  • 举报
回复
引用 2 楼 lile1234_show 的回复:
你不知道私有成员是类外不能访问的麽?
类外是不能访问啊,可是你看c2.m被c1.outsee访问了啊
lee_鹿游原 2013-01-15
  • 打赏
  • 举报
回复
你不知道私有成员是类外不能访问的麽?
Crazy_Number 2013-01-15
  • 打赏
  • 举报
回复
私有成员不是只可被成员函数访问么?

64,676

社区成员

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

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