比如现在有两个类 :A类 、B类
四个文件:A.h A.cpp B.h B.cpp
可以这样使用
A.h中代码
#pragma once
class B; //B类的前置声明
class A
{
public:
A();
~A();
private:
B* m_b; //这里好像只能用指针,跟构造函数有关吧
};
A.cpp中的代码
#include "A.h"
#include "B.h" //包含B类的头文件
A::A()
{
}
A::~A()
{
}
B.h中代码
#pragma once
class A; //A类的前置声明
class B
{
public:
B();
~B();
private:
A* m_a; //这里好像只能用指针,跟构造函数有关吧
};
B.cpp中的代码
#include "B.h"
#include "A.h" //包含A类的头文件
B::B()
{
}
B::~B()
{
}
总结来说就是,使用哪个类就在当前.h文件中前置声明那个类,在当前.cpp文件中包含那个类的头文件,一般情况就不会报错了。