假设A类有个B类的成员变量,而你不想再A的头文件中#include B类的头文件,可以这么做
文件A.h
class B;
class A
{
public:
//
private:
B *b;
};
注意要先声明B ,然后把B声明成一个指针,这样在A类初始化时就不会初始化B。
在A.cpp中new一个B类对象赋值给b就可以了,当然A.cpp中要 #include "B.h"
b = new B;
不能再A类中这么写 B b; 这样A类的构造函数调用时,无法知道B类的确定类型,会出现undefined type错误吧。