У меня есть класс, определенный в class.cpp
и class.h
.Класс использует некоторые структуры / классы / типы / все, что определено в stuff.h
(и, конечно, stuff.cpp
) для закрытых членов и методов.Моя основная программа в main.cpp
, что #include
s class.h
, но ничего не значит в stuff.h
.Если это имеет значение, class.cp
должен загружаться динамически (.dll / .so).
В идеале я бы хотел, чтобы stuff.h
включался только в class.cpp
и stuff.cpp
, связанные только с этимфайл, так как они могут вызвать загрязнение пространства имен в main.cpp
и лишний раздув, будучи связанными с конечной программой.
Проблема в том, что мне нужно включить stuff.h
в class.h
, так как используются его определенияв private:
части моего класса, который все в class.h
.И так как main.cpp
приносит class.h
, он также получает stuff.h
!
Надеюсь, это было ясно.В C # это может быть решено частичными классами.Как бы я сделал это в C ++?