как я могу получить доступ к данным из класса через другой класс в c ++? - PullRequest
0 голосов
/ 06 августа 2020

Предположим, что существует три класса A, B и C, и они связаны таким образом, что A имеет экземпляр объекта с B, а B имеет экземпляр объекта с C (A-> B -> C). Каждый из классов имеет частные данные-члены, геттеры и сеттеры.

Как я могу получить значение из класса C в класс A?

Пример кода:

class C{
private:
    int q = 3;
    int w = 2;
    int e = 1;

public:
... setters and getters ...
}

class B{
private:
    C objC;
    int x;
    int y;

public:
... setters and getters ...

}

class A{
private:
    B objB;
    int rows;
    int cols;

public:
  Board{

    if(objB.objC.getValOfQ() > 0){    //this is not working because objC is a private data member of class B
      ....
    }

  }
}

Следует ли мне написать функцию-получатель в классе B для доступа к obj C или чему-то в этом роде? Как сделать publi c геттер для объекта?

Вот ошибка:

 'objC' is a private member of 'B' 

1 Ответ

1 голос
/ 06 августа 2020

Очевидно, вы не сможете получить прямой доступ к objC, поскольку он установлен конфиденциально в objB.

Другое простое решение поверх упомянутого вами, которое убьет цель настройки * От 1005 * до private, будет создавать дополнительные геттеры функции в objB, которые будут вызывать соответствующие геттеры в objC вместо того, чтобы возвращать объект.

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