如何访问基类中的非公共变量?

时间:2014-03-22 23:25:00

标签: oop language-agnostic

我在派生类的方法中,松散地如下:

Class Base
{
   private:
     int variableIWantToAccess;

}

Class Derived : public Base
{

   public someMethod() {
        variableIWantToAccess++;   <<-----ERROR

}

如何访问在基类中声明的变量?我无法访问它,因为它是私有的。

2 个答案:

答案 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; }

}