从派生类访问基类的受保护数据成员

时间:2013-02-24 22:09:41

标签: c++ inheritance derived-class data-members

我有一个基类和派生类。我需要访问派生类中的基类的受保护成员。但是,Eclipse不允许我访问数据成员,就好像它是派生类的成员而不关心它是否被继承。我该怎么做?

class BaseClass {
protected:
static int a;
int b;
}


class DerivedClass: public BaseClass {    
void SomeMethod {    
a=10; // cannot resolve symbol
b=10; // cannot resolve symbol
BaseClass::a=10; //does not complain
BaseClass::b=10; //does not complain    
}
}

1 个答案:

答案 0 :(得分:3)

我无法完全理解您的问题,但修复了语法错误,以下内容应该有效:

class BaseClass {
protected:
static int a;
int b;
}; // <-- Missing semicolon

int BaseClass::a = 0; // Define static member

class DerivedClass: public BaseClass {    
void SomeMethod() { // <-- Missing ()
a=10;
b=10; 
}
};// <-- Missing semicolon