Здравствуйте, andyp, Вы писали:
A>Здравствуйте,
A>Есть некая реализация штуковины System из предметной области. Она включает несколько подсистем:
A>Получается, что:
A>1.заголовочные файлы, описывающие подсистемы не включаются в system.h (это хорошо, так как подсистемы — деталь реализации)
A>2. заголовочный файл системы не включается в заголовочный файл подсистемы (это тоже хорошо, так как интерфейс подсистемы не зависит от системы)
A>Хотелось бы, сохраняя свойства 1 и 2, как-то убрать методы used_by_subsyst из public секции описания класса System потому что они только замусоривают интерфейс системы,
A>а по факту используются только при ее реализации. Как этого добиться проще всего не теряя скорости выполнения?
pimpl не подойдет?
class System {
struct SystemImpl;
auto_ptr<SystemImpl> m_impl;
public:
System();
~System();
void some_method(); //интерфейс System
};