вызвать метод A в классе B в заголовочном файле? - PullRequest
0 голосов
/ 24 февраля 2020
class person{
...
public:
get_age(){..}
...
};

class society{
private:
person Ann;
....
};

Я не уверен, как вызвать метод get_age в заголовочном файле с минимальным объявлением в классе person? Я пытался найти, но не смог найти точный пример. Что-то вроде этого заголовочного файла:

society tennis;
tennis.Ann.get_age()

Я потерпел неудачу с этим, пытаясь получить доступ к методу get_age () из класса person, так как метод принадлежит человеку, но не обществу. Как получить доступ к get_age () с минимальными утверждениями.

1 Ответ

1 голос
/ 24 февраля 2020

Создание экземпляров классов (объектов) в заголовках - обычная плохая практика. Как только вы включите свой заголовок в любой файл. cpp, его содержимое будет вставлено в ваш файл. cpp, что приведет к многократному определению созданного объекта. Например, компилятор / компоновщик скажет, что ваш объект tennis определен дважды - в вашем заголовке и, например, в main. cpp, который включает ваш заголовок.

...