如何创建在不同文件中互相使用的类?

时间:2012-10-04 05:34:06

标签: c++ class

例如,我有一个A级辩护

class A {
 ... 
 }

在a.h

b.h中的

和B

class B {
 ... 
 }
在a.h中我需要#include "b.h"而在b.h中我需要#include "a.h"但它是编译器的递归错误。

我可以在一个文件中使用预防措施来欺骗它

class A;
class B {
     ... 
     }
class A {
     ... 
     }

但为了清楚起见......我想将它们彼此分开,我该怎么做呢?

1 个答案:

答案 0 :(得分:2)

前进声明是要走的路:

//B.h
class A;
class B
{
};

//A.h
class B;
class A
{
};

请注意,如果您需要完整类型,则不会起作用,即相应的其他类需要类型为AB的数据成员(方法参数,返回类型,指针或引用可以使用不完整的类型。)