我在派生类的方法中,松散地如下:
Class Base
{
private:
int variableIWantToAccess;
}
Class Derived : public Base
{
public someMethod() {
variableIWantToAccess++; <<-----ERROR
}
如何访问在基类中声明的变量?我无法访问它,因为它是私有的。
答案 0 :(得分:4)
您应该将其声明为protected
而不是private
<{1}}类的成员只能访问类后代。
答案 1 :(得分:2)
将字段保密,并创建一对受保护的 getter / setter 方法(出于同样的原因,您不会公开公共字段)。
Class Base
{
private:
int variableIWantToAccess;
protected:
int GetVariable() { return variableIWantToAccess; }
void SetVariable(int var) { variableIWantToAccess = var; }
}