在c++头文件中写#include类的头文件与直接写class加类名有何区别
·
实例
我们能看到这样的写法:
A.h
#include "C.h"
class B;
class A{
//...
}
A.cpp
#include "B.h"
class A{
//...
}
在A类的头文件中使用了#include xx.h,也有声明class xx,那么这两种写法有什么不同?
不同
class 类名只是声明存在这么一个类,但是通过这个声明无法得到任何关于此类的具体信息。这样你可以在其他使用到的地方声明一个该类型的指针。
#include头文件则是将整个该头文件与使用到的地方关联起来。
使用class 类名一般是为了去除编译依赖,减少编译消耗的时间
#include "xx.h"在编译的时候把xx.h文件直接展开,所以里面的接口都能用,可以申明对象。但是class xx;这种方式就不会,你只能使用它的指针或者引用,你不能创建申明对象。
另外需要注意的是:如果我们需要在cpp中具体的类,必须在cpp中引入#include xx.h头文件。
更多推荐
所有评论(0)