Значение доступа в C ++ - PullRequest
       15

Значение доступа в C ++

0 голосов
/ 01 октября 2010

HI

У меня есть два предложения А и В, Здесь A наследует B, и теперь я хочу получить доступ к переменной в B из A, я включил заголовок A в B и попытался получить доступ, но показал некоторую ошибку в QObject.

Можно ли получить такой доступ .. Пожалуйста, помогите

Ответы [ 2 ]

3 голосов
/ 01 октября 2010

Не уверен, что я правильно понял ваш вопрос ....

class A {
public:
  int nValueA;
protected:
  int nValueB;
private:
  int nValueC;
};

class B : public A {
public:
    B();
    int x, y, z;
}; 
B::B(): 
x(nValueA), //-->OK
y(nValueB), //-->OK
z(nValueC)  //-->error due to child can't inherit parent's private member
{}

void main(){
  B object;
  object.nValueA = 888; //--> valid
  object.nValueB = 888; //--> error since protected member is not accessible
  object.nValueC = 888; //--> error since private member is not accessible
}

Возможное решение:

class A {
public:
  int nValueA;
  int nValueB;
  int nValueC;
};
1 голос
/ 01 октября 2010

Является ли ваша переменная-член private? Тогда вы не можете объявить это protected.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...