C++中两个类交叉定义的处理方法

时间:2022-09-23 18:29:41

经常会遇上A类中使用了B定做为变量或形参的定义,这个时间如果交叉引用头文件就会出错。处理方法就是预先申明另一个类,这个时候先判断哪个类是主类,哪个类是次类。把次数做预先申明。次类中直接引入主类的头文件。在实现文件中主类的实现需要引用次类的头文件。
例:
a.h
class B
class A
{
public:
void setB(const B &obj);
};




b.h
#include "a.h"
class B
{
public:
void setA(const A &obj);
}


a.cpp
#include "a.h"
#include "b.h"
.....




b.cpp
#include "b.h"