用vc10,6编程时遇到一个问题,有两类,如A,B两个类。A的属性里有B,B的属性里也有A.
一开始中A类头文件中include B类头文件,A类中 定义实体B;B中定义指针A.要是中B头文件中include A的头文件,肯定不通过,仅在声明Class A,也编绎不能过说什么没有实现A。
最终解决的办法是B类头文件中声明Class A,源文件中include A的头文件。
A类的头文件A.h:
#include "B.h"
class A{
B m_b;
....
}
A类的源文件A.cpp:
#include "A.h"
....
B类的头文件B.h:
class A;
class B{
A *m_a;
...
}
B类的文件B.cpp:
#include "A.h"
#include "B.h"
....