关于C++类的疑惑
当我们在A.h中定义了一个class A 而在B.h中#include"A.h" 接着又 class A;我想问这个class A 的作用是什么呢?本来#include"A.h"已经把 A 包含在了B中了啊!为什么又要声明呢?希望大家帮帮我哦!!具体代码如下
- C/C++ code
// A.h class A { //这里是类A的数据成员以及成员函数}//B.h#include"A.h"class A; //就是这个Class A 为什么我们已经#include"A.h"还要 再次声明呢 ?具体作用是什么?class B{ //B类的数据成员以及成员函数}[解决办法]
只有 Class A,可以让B知道有个class 叫A,但是不知其细节。如果这里A只用作指针就不会出错。
如果做函数其他用途,比如变量类型,返回值就出错,因此此时B需要知道A所占多少空间等其他细节。
加上#include"A.h" ,这样的话B就知道A的所有细节,比如其函数啊。。