我正在使用C ++开发一款小游戏,我使用了Eclipse CDT的类生成器。它创建了一个带有类定义的.h文件和一个包含所述类的无体方法的.cpp文件。
因此,如果我遵循模板,我将有一个.cpp文件,其中包含方法声明,以及一个带有方法体的.cpp文件。但是,我不能在另一个文件中包含.cpp文件。
那么C ++中包含类和包含文件的约定是什么?我所做的是在.h文件中的类声明下填写方法体,并删除.cpp文件。
答案 0 :(得分:5)
您不必包含.cpp文件。包括.h文件就足够了。 .h表示标题,即它应该具有的是函数/对象定义。实际的实现位于同名的.cpp文件中。链接器将为您解决问题。
头文件包含 声明 (也称为原型)。包含标题让程序知道“我声明了这样的东西”。
标题的用户为我们节省了在代码文件中声明方法的工作 - 我们只需执行一次,然后导入文件。
.c / .cpp / .cc文件包含 定义 - 它告诉程序函数的功能。
您不必“包含”.c文件,因为这就是编译器的作用 - 它将所有.c文件编译成机器代码。
答案 1 :(得分:2)
您可以做的另一件事是创建头文件是使用预处理器指令 ifdef和endif。这将阻止您的头文件被多次包含。 这是我在创建新头文件时使用的标准做法。
答案 2 :(得分:0)
我不太清楚我理解。头文件定义了类和可以执行的操作,并将其包含在需要使用该类的任何源文件中。
源文件实现了类的操作方式。
但是, 可以将.cpp
包含在另一个中(您可以将任何内容包含在任何内容中),但您不需要。