无论如何,我可以在没有继承的情况下访问类中的受保护变量.
class ClassA{
protected:
int varA;
};
class ClassB{
protected:
ClassA objectA;
};
ClassB theMainObject;
Run Code Online (Sandbox Code Playgroud)
我想通过theMainObject访问varA.
你可以成为classB朋友classA
class ClassA{
protected:
int varA;
friend ClassB;
}
Run Code Online (Sandbox Code Playgroud)
但是使用访问器可能会更好,因为你没有将类耦合在一起.
class ClassA{
int getA() { return varA;}
void setA(int a) { varA = a; }
protected:
int varA;
}
Run Code Online (Sandbox Code Playgroud)