前导声明代替头文件依赖和交叉包含
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()
{
}