草庐IT

SecretType

全部标签

c++ - 如何在 C++ 中隐藏类的某些字段

我想开源一个项目,但是我的头文件是这样的:classFoo{public:intbar;intsuper_secret_field;};我希望开源header有bar字段,但没有super_secret_field。我仍然想要一个带有super_secret_field的闭源版本。我不能使用两个单独的头文件,因为这样使用Foo的类将有奇怪的包含。我可以用#includes做一些hacky,然后在发布的版本中删除它们,但我宁愿不这样做。有没有更好的办法? 最佳答案 我相信您的问题的解决方案是PIMPL成语。在您的情况下,它看起来像:/