网站开发中如何制作登录页面,相册制作软件,网页设计报告详细设计,娄底网站开发之前在书上看到成员函数可以访问类的私有变量的时候觉得是废话嘛#xff0c;如果成员函数都不能访问那私有变量不就变成了花瓶了。然而发现自己还是太naive。
这句话的意思是#xff1a;在类的作用域内#xff0c;包含成员函数、静态成员函数和友元函数内#xff0c;可以访…之前在书上看到成员函数可以访问类的私有变量的时候觉得是废话嘛如果成员函数都不能访问那私有变量不就变成了花瓶了。然而发现自己还是太naive。
这句话的意思是在类的作用域内包含成员函数、静态成员函数和友元函数内可以访问类对象的私有变量。
特殊的对于成员函数来讲如果参数中有属于同一个类的其他对象那么我们还可以访问其他对象的私有变量而不仅仅是自己的。
可以这样理解在类的作用域内部没有所谓的权限控制只有在外部才区分私有、保护和公有。
例如
class A{int x 1;
public:void test(A rhs);
};void A::test(A rhs) {cout x rhs.x endl;
}int main() {ios::sync_with_stdio(false);A a, b;a.test(b);return 0;
}上面代码中a的函数test中访问了b的私有变量x这是完全没有问题的。