C ++使用类Classname;

时间:2013-07-27 15:47:16

标签: c++ class oop cocos2d-x

我正在查看cocos2dx c ++源代码,其中有很多地方使用

class Classname;

在CCNode.h第43行中的e-g

class CCCamera;

Classname是他们正在使用的类的名称,后来我没有看到任何我之前从未见过的引用。

我想知道这意味着什么。

1 个答案:

答案 0 :(得分:7)

这是一个前向声明,因此实际导入发生在.cpp文件而不是头文件中。这是C ++ OOP中的常见做法。

要获得一个好的解释,请参阅此帖并提出类似的问题 C++ Forward declaration

当您做出前瞻性声明时,您正在通知编译器您打算事先使用某些内容。如上面链接中所声明的那样,重要的收获是前向声明会破坏循环引用并减少编译器构建时间。