我正在使用C++的小游戏,并使用Eclipse CDT的类生成器。它创建了一个包含类定义的.h文件和一个包含所述类的无身体方法的.cpp文件。C++头文件约定
所以,如果我遵循模板,我会有一个.cpp文件充满了方法声明和一个.cpp文件与方法体。但是,我不能在其他文件中包含.cpp文件。
那么C++中的类和包含文件的约定是什么?我所做的是在.h文件的类声明下填写方法体,并删除.cpp文件。
我正在使用C++的小游戏,并使用Eclipse CDT的类生成器。它创建了一个包含类定义的.h文件和一个包含所述类的无身体方法的.cpp文件。C++头文件约定
所以,如果我遵循模板,我会有一个.cpp文件充满了方法声明和一个.cpp文件与方法体。但是,我不能在其他文件中包含.cpp文件。
那么C++中的类和包含文件的约定是什么?我所做的是在.h文件的类声明下填写方法体,并删除.cpp文件。
您不必包含.cpp文件。包括.h文件只需要它。 .h表示标题,即它应该有的是函数/对象定义。实际的实现进入同名的.cpp文件。链接器将处理你的问题。
头文件包含声明(也称为原型)。包含标题让程序知道“我声明了一些看起来像是存在的东西”。
头文件的用户为我们节省了在代码文件中遍布所有方法的努力 - 我们只做一次,然后导入文件。
的.C /的.cpp/.cc文件包括定义 - 它告诉程序函数的功能。
您不必“包含”.c文件,因为这就是编译器所做的 - 它会将所有.c文件编译为机器代码。
我不太确定我的理解。头文件定义了类的功能,并将其包含到需要使用该类的任何源文件中。
源文件实现了类如何执行其操作。
但是,您可以包括一个.cpp
到另一个(你可以包括任何东西),但你并不需要。
你可以做的另一件事是创建一个头文件是使用ifdef和endif的预处理器指令 。这会阻止您的头文件被多次包含。 这是我创建新头文件时使用的标准练习。
可能的重复:http://stackoverflow.com/questions/1686204/help-ac-newbie-understand-his-mistakes-header-files-and-cpp-files – 2009-11-29 05:50:07
是的,我会说关于封面的问题它。 – GManNickG 2009-11-29 05:51:52
*相关:* [如何避免包含类实现文件?](http://stackoverflow.com/q/2037880/54262) – 2010-10-31 07:39:13