Header 和 C++ 代码 类

Header and Code in C++ classes

我刚开始学习一些 C++ 教程,我 运行 进入了一些我似乎无法理解的东西。

在 C++ 中,人们似乎正在使用一个代码文件和一个 header 文件,对我来说这似乎很不方便。为什么我要在两个文件之间交换只是为了编写一个简单的 getter 方法。

它是否被认为是 "correct" 在 C++ 中使用 header 的方式?或者只是我选择的教程使用了这个?

我想到了拆分代码以使其看起来更干净,但除此之外还有其他好处吗?

提前致谢。

在 C/C++ 中,headers 用于在 class 之间共享 class 结构(除其他外)。

所以可以用

包括“classFOO.h”

在classBAR.h(或classBAR.cpp)中并使用classFOO。

使用 hpp(header) 和 cpp(code) 文件有一些原因。其中之一如下:库(dll- 或 so-file)不能像 java 中的 jar-file 那样 "used"。如果您编写库,则必须以 hpp-file.

的形式提供 类、方法等的声明

c++ 中的一个头文件存储了很多信息,如果在你制作的每个程序中使用 c++ 中的每个 "header" 文件制作了 c++,那么当你从 iostream 中编写一个函数时,例如,该程序将遍历每个头文件只是为了找到正确的头文件。所以他们用 C++ 制作了 #inlcude 函数,这样你就可以指定你的函数来自哪里。

并且当您创建一个程序时,您可以制作自己的头文件,因此代码设置得更漂亮。然后不必在一个主源文件中编写大量代码行,您可以导入其他文件。就像你正在制作游戏一样,一个动物的头文件,在那个头文件中,你有一个 Class 猫,一个狗。拥有更干净的代码。

考虑使用您在其他文件中编写的 class。如果您在单独的文件中有 class 定义,您可以通过在您计划使用此代码的地方包含头文件来帮助编译器弄清楚如何使用 class。

编译器只需要知道你是否正确使用了classes(它并不关心如何运行它,直到链接),因此你只需要给编译器是 class(头文件)的声明,用于进行错误检查。当你说 "include" 时,预处理器只是将头文件内容复制并粘贴到新文件中,这样新文件现在就知道如何使用你编写的 class 了。