我想知道是否有办法只将 protected 和公共(public)的内容放在头文件 .h 中,并将所有私有(private)内容放在编译单元 .cpp 中 我需要这个,因为库将被其他人使用,我不想复制和编辑所有 .h 文件来删除私有(private)声明和实现。 我试过了,但出现重复声明错误
另一个问题是关于私有(private)静态的东西 我可以在头文件中声明它们并在 .cpp 单元上实现它们吗? 私有(private)变量和公共(public) get 方法 我尝试了但无法在单元上实现该方法,它仅适用于 header 上的声明和实现
[]s, 乔
最佳答案
处理此问题的正确方法是实现 pimpl 习惯用法:为所有私有(private)数据创建一个类或结构,并将指向此类对象的指针与前向声明一起放入头文件中。现在从头文件中看不到任何私有(private)数据和方法。
关于c++ - 供其他人使用的头类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1522373/