假设我有一个类foo,类bar的对象作为成员
class foo
{
bar m_bar;
};
Run Code Online (Sandbox Code Playgroud)
现在假设酒吧需要跟踪拥有它的foo
class bar
{
foo * m_pfoo;
}
Run Code Online (Sandbox Code Playgroud)
这两个类相互引用,没有前向声明,不会编译.因此,在foo声明之前添加此行可以解决该问题
class bar;
Run Code Online (Sandbox Code Playgroud)
现在,问题是 - 在编写头文件时,每个头都依赖于另一个:foo.h需要bar.h中的定义,反之亦然.处理这个问题的正确方法是什么?