c++类成员函数可以访问私有变量
最近才明白同一类下的成员函数是可以访问私有对象的,举个例子下面是代码
。
// An highlighted block
class fruit {
private:
string apple="苹果";
public:
void test();
};
class vegetable{
private:
string tomato = "西红柿";
};
代码中随便声明两个类,在“水果”类中声明了一个成员函数以此验证是否可以访问私有变量
成员函数代码和主函数
// An highlighted block
void fruit::test() {
fruit f1;
vegetable v1;
cout << f1.apple << endl;
//cout << v1.tomato << endl;
int main() {
fruit f2;
f2.test();
system("pause");
return 0;
}
}
先注释掉不是同一类下的私有变量,程序可以正常运行,如下图
当取消注释后运行程序,程序报错。
很明显说明只有同一类下的成员函数才可以访问私有对象。