Не рекомендуется делать переменную класса общедоступной.Если вы хотите получить доступ к a
из Child
, у вас должно быть что-то вроде этого:
class Base {
public:
Base(): a(0) {}
virtual ~Base() {}
protected:
int a;
};
class Child: public Base {
public:
Child(): Base(), b(0) {}
void foo();
private:
int b;
};
void Child::foo() {
b = Base::a; // Access variable 'a' from parent
}
Я бы тоже не получил прямой доступ к a
.Было бы лучше, если бы вы использовали public
или protected
метод получения для a
.