用C ++访问私有成员数据?

时间:2012-01-21 02:53:20

标签: c++ oop

在A类中,我定义了一个私有成员数据char * d;

同样在A类中,我正在重载operator =,它接受const A &other参数并进行赋值。

此时我正在重载operator =,我意识到当我尝试写d = *other.d之类的东西时,我的Visual Studio C ++没有给我提醒。

所以我在这里问为什么我被允许这样做?我还没有运行这个程序,但只是好奇为什么我没有收到这条线的警报。在我看来,私有数据成员只能由getter访问。

我错了吗?

1 个答案:

答案 0 :(得分:10)

访问限制由操作,而不是由实例操作 - class A方法可以访问类的任何实例的私有数据,而不仅仅是{{1} }。