在c++头文件中写#include类的头文件与直接写class加类名有何区别
Posted 木大白易
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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
头文件。
以上是关于在c++头文件中写#include类的头文件与直接写class加类名有何区别的主要内容,如果未能解决你的问题,请参考以下文章