如何在复制赋值运算符中访问私有变量?

时间:2014-12-21 13:34:09

标签: c++

我上课了#34; A"它有一个名为" var"(带有公共getter和setter)的私有变量

我可以编写副本赋值运算符,如下所示

A& operator = (const A& rhs)
{
    cout<<"copy assignment operator"<<endl;
    setVal(rhs.var);//Q - how rhs acess directly "a"
}

当我编译并运行时,它运行没有任何问题。

现在我的问题是如何访问&#34; var&#34; A类对象rhs中的私有变量,没有任何问题?

2 个答案:

答案 0 :(得分:4)

C ++中的'private'意味着'私有这个类'不是'私有这个实例'。私有成员可以被类中的任何函数访问,包括静态函数,也可以在声明为类的“朋友”的函数中访问。

答案 1 :(得分:0)

  

“现在我的问题是如何在A类对象rhs中访问”var“私有变量,没有任何问题?”

成员函数中的代码也可以访问其他类实例的任何成员(private或不)。