Bjo*_*ern 4 c++ namespaces pimpl-idiom header forward-declaration
我正在编写一个C++标头,我在其中定义了一个
class A {
// ...
};
Run Code Online (Sandbox Code Playgroud)
我想隐藏在外面的世界(因为它可能会更改甚至在此标题的未来版本中被删除).
在同一个头文件中还有一个B类,它有一个A类对象作为成员:
class B {
public:
// ...
private:
A a_;
};
Run Code Online (Sandbox Code Playgroud)
什么是从外界隐藏A级的正确方法?
如果我将A的定义放在未命名的命名空间中,编译器会发出警告,所以我认为,由于内部链接的问题,我应该做其他事情.