为什么允许在复制构造函数中将点运算符用于私有数据?

时间:2019-07-18 10:13:58

标签: private dot-operator

有一个带有一些私有数据b的类A。 如果我尝试使用A.b来获取数据,则会出现编译错误,因为我正在尝试对私有数据使用点运算符。

如果我为此类A写一个复制构造函数,则可以使用点运算符从要复制的对象中获取私有值b。

为什么?

1 个答案:

答案 0 :(得分:0)

如果要访问私有数据,则必须使用set和get方法,因为私有变量只能在同一类内访问(外部类无权访问)。 get方法返回变量值,而set方法设置值。

例如,如果该类的实例称为 a ,而您要访问的数据称为 b ,则可以使用a.getB()或{{ 1}}