C++中成员的私有性

因为QA那边还没有反馈,设备也存在问题不能调试,所以今天就放下手头上的工作,翻看了云风以前写的一些博文,发现了自己这些年来的对C++中的成员的私有性存在错误的理解,以前认为只要是私有成员变量,除了自己的成员函数,任何其他的函数都不能访问,这里我存在一个误区,以为私有性是对于对象来讲的,看了云风的这篇博文后,我才发现私有性是针对类来讲的。

然后我写了程序测试了以下,果真能访问,但是我把private改成protected也还是能访问,并不像云风文中所说的一样...下面是我的测试程序

 1 class Object
 2 {
 3 public:
 4     Object():a(0){}
 5     ~Object(){}
 6     int fun(Object *other)
 7     {
 8         return this->a + other->a;
 9     }
10 protected:
11     int a;
12 };
13 
14 int main()
15 {
16     Object o1,o2;
17     o1.fun(&o2);
18 
19     return 0;
20 }
posted @ 2012-06-25 16:22  阿飞同学  阅读(206)  评论(0编辑  收藏  举报