Два класса, которые относятся друг к другу

Из SSH вы можете запустить:

php -i | grep Soap

, который будет возвращать что-то вроде:

Soap Client => enabled
Soap Server => enabled
17
задан 15 June 2009 в 01:52
поделиться

3 ответа

Вы можете использовать форвардные объявления в файлах заголовков, чтобы обойти циклические зависимости, если у вас нет зависимостей реализации в заголовках. В Window.h добавьте эту строку:

class App;

В App.h добавьте эту строку:

class Window;

Добавьте эти строки перед определениями классов.

Затем в исходные файлы вы можете включить заголовки для фактического класса определения.

Если определения вашего класса ссылаются на члены другого класса (например, во встроенных), то их необходимо переместить в исходный файл (больше не встроенные).

30
ответ дан 30 November 2019 в 11:08
поделиться

Форвардное объявление - это правильный путь.

Если вы используете указатели \ ссылку в заголовке класса, тогда для вас подойдет прямое объявление с обеих сторон.

Если вы создаете объект как член класса, вы должны включить сам заголовок. (Прямое объявление не сработает, поскольку компилятору требуется определение класса для определения размера.)

Обратитесь к часто задаваемым вопросам по C ++ для решения такой проблемы:

Если вы создаете Window как член, включите заголовок Window в App, но в В то же время Window не должен включать заголовок приложения. Используйте там комбинацию указателя на приложение и предварительного объявления.

9
ответ дан 30 November 2019 в 11:08
поделиться
5
ответ дан 30 November 2019 в 11:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: