我想把我的代码变成多个 C++ 文件。
这是我的意思的一个例子:
- main.cpp 包含基本布局
- player.cpp 保存角色的移动方式
- bg.cpp 保存背景和附件
我想将这些文件中的所有代码合并到 main.cpp 中。
就像在 C 中一样,您可以像这样使用 include 链接外部文件
#include 'file.c'
无论如何我也可以在 C++ 中做到这一点吗?是一样的还是我做错了?
我想把我的代码变成多个 C++ 文件。
这是我的意思的一个例子:
我想将这些文件中的所有代码合并到 main.cpp 中。
就像在 C 中一样,您可以像这样使用 include 链接外部文件
#include 'file.c'
无论如何我也可以在 C++ 中做到这一点吗?是一样的还是我做错了?
该#include
指令在 C 和 C++ 编译器中的工作方式相同:它实际上是粘贴指定文件的文本而不是指令所在的位置,就好像您执行了对其内容的复制和粘贴一样。所以,是的,你可以#include player.cpp
在main.cpp
.
但是 - 这是不鼓励的,也很少实践。
首先,公认的约定是您在其他地方包含的文件称为“头文件”,并给出后缀.h
,.hpp
或.hxx
.
更重要的是,无论是在编写 C 代码还是在编写 C++ 代码时,将代码不仅分解为文件,而且分解为不同的“翻译单元”(分别编译的不同代码段),这几乎是一种普遍做法。每个翻译单元只需要包含声明它所依赖的函数的标题(除了类型定义等) - 而实现可以留给.cpp
不包含彼此的单独文件。
因此,在您的示例中,您可能有一个.hpp
文件 forplayer.cpp
和 for bg.cpp
; andmain.cpp
将包括player.hpp
and bg.hpp
,因为它可能会调用其他两个文件中的函数。您会将 3 个翻译单元编译为main.o
,bg.o
和player.o
; 最后,您将三个编译对象链接到一个可执行文件中。
有关如何发生这种情况的更多详细信息,您应该查阅有关 C++ 软件开发的在线教程或介绍性教科书。