c++ - 供其他人使用的头类文件

标签 c++ class header private public

我想知道是否有办法只将 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/

相关文章:

c++ - 我如何从同意流程 (UAC) 获取流程路径或 pid

css - 重复添加/append 类到输出元素

C++ 头文件链接器错误

c++ - 模板类中的 Typedef 不起作用

c++ - 将属性保护/私有(private)的任何性能原因?

javascript - Angular 中的 JWT 表现不佳——出现无效 header 错误

nginx 位于 haproxy 后面 varnish 后面

c++ - C/C++ 宏/模板 blackmagic 生成唯一名称

c++ - 传递初始化列表时可变参数模板参数推导失败

C++ 方法覆盖和重载(编译器级别)