在A类中,我定义了一个私有成员数据char * d;
。
同样在A类中,我正在重载operator =,它接受const A &other
参数并进行赋值。
此时我正在重载operator =,我意识到当我尝试写d = *other.d
之类的东西时,我的Visual Studio C ++没有给我提醒。
所以我在这里问为什么我被允许这样做?我还没有运行这个程序,但只是好奇为什么我没有收到这条线的警报。在我看来,私有数据成员只能由getter访问。
我错了吗?
答案 0 :(得分:10)
访问限制由类操作,而不是由实例操作 - class A
方法可以访问类的任何实例的私有数据,而不仅仅是{{1} }。