您的位置:首页 > 编程语言 > C语言/C++

C++ 封装不是万能的 private 数据成员的值可以在类外被访问

2011-10-02 22:11 417 查看
封装不是万能的别以为有了类的封装性,私有成员就可以高枕无忧。

#include <iostream>
using namespace std;
class A
{
int a;
public:
A(int aa):a(aa){}
int & get()
{
return a;
}

void show() const
{
cout << "a = " << a << endl;
}
};

void main()
{
A obj(2);
obj.show();
//修改了类的私有成员,结论:不要让成员函数返回一个非常引用(指针)
obj.get() =  6;
obj.show();
}


甚至成员是常函数仍可以通过返回一个非常引用深入到对象内部。

结论:不要让成员函数返回一个非常引用(指针)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐