在超前引用一个类之前,首先用一个特殊的语句说明该标识符是一个类名,即将被超前引用。其使用方法是: a) 用class ClassB;声明即将超前引用的类名 b) 定义class ClassA c) 定义class ClassB; d) 编制两个类的实现代码。
ClassA和ClassB分别有自己的头文件和cpp文件,这种情况下超前引用错误的处理方法: a) 分别定义ClassA和ClassB,并在cpp文件中实现之 b) 在两个头文件的开头分别用class ClassB;和class ClassA;声明对方 c) 在两个cpp文件中分别包含另外一个类的头文件 NOTE:这种方法切记不可使用类名来定义变量和函数的变量参数,只可用来定义引用或者指针。
加入 class 类名;然后要在.cpp文件中包含这个头文件就可以了
5)加入宏定义
#ifndef __A_H__
#define __A_H__
class b;
class a {
...
}
#endif
b.h
#ifndef __B_H__
#define __B_H__
class a;
class b {
...
}
#endif