我有一个基类和派生类。我需要在派生类中访问基类的 protected 成员。但是,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
}
}
最佳答案
我不能完全理解你的问题,但修复了语法错误,下面应该可以工作:
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
关于c++ - 从派生类访问基类的 protected 数据成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15057249/