1.头文件中使用前导声明替代交叉引用,由于前导声明只是一个符号声明,不能知道实际对象的大小,引用的对象只能是指针类型。
2.源文件中包含自己的头文件。
a.h
class B;class A{public: A(); B* b;};
b.h
class A;class B{public: B(); A* a;};
a.cpp
#include "A.h"A::A(){}
b.cpp
#include "B.h"B::B(){}