Один из классов в моей программе использует стороннюю библиотеку. Объект библиотеки является приватным членом моего класса:
// My.h
#include <3pheader.h>
class My
{
...
private:
3pObject m_object;
}
Проблема с этим - любой другой модуль в моей программе, который использует Мой класс, должен быть настроен на включение 3p заголовков. Переход на другой вид 3p поставит под угрозу всю сборку ...
Я вижу два способа исправить это - один состоит в том, чтобы сделать 3pObject extern и превратить m_Object в указатель, инициализируемый в конструкторе; во-вторых, создать классы "interface" и "factory" и экспортировать их ...
Не могли бы вы предложить другие способы решения этой проблемы?