Страницы

Поиск по вопросам

пятница, 21 июня 2019 г.

Как уменьшить зависимость заголовочных файлов C++?

Допустим есть файл A1.h с описанием класса A1 (class A1 { ...};), файл A2.h с описанием класса A2 (class A2 {...};). Есть файл B1.h, в котором подключаются заголовочные файлы A1.h и A2.h и описывается класс B1 (
#include "A1.h" #include "A2.h"
class B1 { A1* pA1; A2* pA2; ... };
). Как уменьшить зависимость заголовочных файлов, чтобы когда подключалась dll библиотека не нужно было тянуть за собой много заголовочных файлов ?


Ответ

В вашем примере в файле B1.h нет необходимости подключать файлы A1.h и A2.h, так как описанный вами класс В1 содержит лишь указатели на классы А1 и А2. Достаточно будет предварительного объявления:
class A1; class A2;
class B1 { A1* pA1; A2* pA2; };
А заголовочные файлы А1.h и А2.h необходимо подключить в файле реализации B1.cpp.

Комментариев нет:

Отправить комментарий