实例

我们能看到这样的写法:
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头文件。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐