我正在用 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 中。