Допустим есть файл 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.
Комментариев нет:
Отправить комментарий