免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6378 | 回复: 6
打印 上一主题 下一主题

[函数] 同一个类的不同对象的成员函数能否互相访问私有数据成员? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-10-28 08:28 |只看该作者 |倒序浏览
比如说有同一个类class aaa的两个不同对象:lu1, lu2。

那么lu1的成员函数能不能访问lu2的私有数据成员呢?

    我有一个简单的小程序:#include <iostream.h>;

class aaa
{
  int a;
  int b;
  
  public:
    void jia(aaa fu)  { fu.a=fu.a+10; }
    void show() { cout<<'\n'<<a<<'\n'<<b<<'\n'; }
    aaa(int c,int d) { a=c;b=d; }
};

int main()
{
  aaa lu1(1,2);
  aaa lu2(3,4);

  lu1.jia(lu2);
  lu1.show();
  lu2.show();  

  return 0;
}

运行结果为:1  2      3  4           而我期望的是:  1  2      13  4          谁知道这是咋回事呢?

论坛徽章:
0
2 [报告]
发表于 2003-10-28 13:07 |只看该作者

同一个类的不同对象的成员函数能否互相访问私有数据成员?

这个问题吗你得再看一遍教材了,相信自己发现后会比别人告诉你要获益的多。

论坛徽章:
0
3 [报告]
发表于 2003-10-28 14:11 |只看该作者

同一个类的不同对象的成员函数能否互相访问私有数据成员?

教材我当然看了,教材上的例子中,void jia()函数的形式是void jia(aaa&调用时传递的是个地址值,结果是正确的,我把引用去掉,直接传递值,就不行了。

论坛徽章:
0
4 [报告]
发表于 2003-10-28 14:31 |只看该作者

同一个类的不同对象的成员函数能否互相访问私有数据成员?

&

论坛徽章:
0
5 [报告]
发表于 2003-10-28 14:42 |只看该作者

同一个类的不同对象的成员函数能否互相访问私有数据成员?

可以
freelong 该用户已被删除
6 [报告]
发表于 2003-10-28 14:56 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
7 [报告]
发表于 2003-10-28 16:12 |只看该作者

同一个类的不同对象的成员函数能否互相访问私有数据成员?

哦,我明白了,因为形参是不能把值再传回实参的,所以必须用引用或指针,多谢各位了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP