OBject доступ из разных функций в VC ++ - PullRequest
0 голосов
/ 22 апреля 2010

У меня есть 3 функции в моем классе B. Эти три функции должны получить доступ к функции-члену другого класса A.

Я сделал это, создав объект класса A в конструкторе класса B, и попытался получить доступ к этому объекту в функциях класса B. Но это показало ошибку.

Как я могу оценить один и тот же объект в этих трех функциях. Где я должен создать объект класса A

B::B()
{ 
  A a;
 }
B:: function()
{
 a.fun(); //fun belongs to class A
}
B:: function1()
{
 a.fun1(); //fun1 belongs to class A
}

Я получаю сообщение об ошибке. Как я могу реализовать то же самое, где я могу получить доступ к объекту a в обеих функциях.

Ответы [ 2 ]

3 голосов
/ 22 апреля 2010

Вы должны добавить A как член вашего класса B, а не как локальную переменную конструктора B. Попробуйте это:

class B
{
public:
  B();
  void function1();

private:
  // This is your member, and you can access it from all of B's methods.
  A m_a;
};
1 голос
/ 22 апреля 2010

Вам необходимо сделать a переменную-член класса B, например:

class B
{
private:
    A a;

// ...
}

Это сделает его доступным для всех функций-членов B.

(Делать его private необязательно - решение сделать его private, protected или public зависит от того, хотите ли вы сделать его доступным только в пределах B, в пределах B и B производные классы или везде.)

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