他の人がコードで使用できるクラスを定義するために、C++ で静的ライブラリを作成しています。しかし、クラスのメンバーは、他の人から取得したヘッダー ファイルで定義された型であり、この人のヘッダー ファイルの内容を配布したくありません。
現在のパブリック インターフェイス (interface.h) は次のとおりです。
class B {
TypeToHide t;
// other stuff ...
};
class A {
double foo();
B b;
};
そして、スタティック ライブラリ (code.cpp) にコンパイルされるコードは次のとおりです。
double A::foo() {
// ...
}
そして、これが公開ビューから非表示にする必要があるコンテンツのファイルです (HideMe.h):
struct TypeToHide {
// stuff to hide
};
HideMe.h の内容を非表示にするにはどうすればよいですか? 理想的には、HideMe.h の構造体全体を code.cpp に貼り付けるだけで済みます。