У меня есть базовый класс и производный класс. Мне нужно получить доступ к защищенному члену базового класса в производном классе. Однако 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
Других решений пока нет …