0

我想把我的代码变成多个 C++ 文件。

这是我的意思的一个例子:

  1. main.cpp 包含基本布局
  2. player.cpp 保存角色的移动方式
  3. bg.cpp 保存背景和附件

我想将这些文件中的所有代码合并到 main.cpp 中。

就像在 C 中一样,您可以像这样使用 include 链接外部文件

#include 'file.c'

无论如何我也可以在 C++ 中做到这一点吗?是一样的还是我做错了?

4

1 回答 1

3

#include指令在 C 和 C++ 编译器中的工作方式相同:它实际上是粘贴指定文件的文本而不是指令所在的位置,就好像您执行了对其内容的复制和粘贴一样。所以,是的,你可以#include player.cppmain.cpp.

但是 - 这是不鼓励的,也很少实践。

首先,公认的约定是您在其他地方包含的文件称为“头文件”,并给出后缀.h,.hpp.hxx.

更重要的是,无论是在编写 C 代码还是在编写 C++ 代码时,将代码不仅分解为文件,而且分解为不同的“翻译单元”(分别编译的不同代码段),这几乎是一种普遍做法。每个翻译单元只需要包含声明它所依赖的函数的标题(除了类型定义等) - 而实现可以留给.cpp不包含彼此的单独文件。

因此,在您的示例中,您可能有一个.hpp文件 forplayer.cpp和 for bg.cpp; andmain.cpp将包括player.hppand bg.hpp,因为它可能会调用其他两个文件中的函数。您会将 3 个翻译单元编译为main.o,bg.oplayer.o; 最后,您将三个编译对象链接到一个可执行文件中。

有关如何发生这种情况的更多详细信息,您应该查阅有关 C++ 软件开发的在线教程或介绍性教科书。

于 2020-05-18T21:45:33.827 回答