在 C++ 中,通常不建议直接在一个 `.cpp` 文件中引用另一个 `.cpp` 文件,因为 `.cpp` 文件是编译单元(translation unit)的基本单位,每个 `.cpp` 文件会被编译成一个目标文件(object file),然后链接器将这些目标文件组合在一起生成可执行文件。
如果你想在一个 `.cpp` 文件中使用另一个 `.cpp` 文件中定义的函数或变量,可以将这些函数或变量的声明放在头文件(`.h` 或 `.hpp` 文件)中,然后在需要使用的 `.cpp` 文件中包含这个头文件。
下面是一个简单的示例:
**utils.h**: ```cpp #ifndef UTILS_H #define UTILS_H void myFunction(); // 函数声明 #endif ``` **utils.cpp**: ```cpp #include "utils.h" #include <iostream> void myFunction() { std::cout << "Hello from myFunction!" << std::endl; } ``` **main.cpp**: ```cpp #include "utils.h" int main() { myFunction(); // 调用utils.cpp中定义的函数 return 0; } ```
在这个示例中,`utils.h` 文件中包含了 `myFunction` 函数的声明,`utils.cpp` 文件中包含了 `myFunction` 函数的定义,而 `main.cpp` 文件中通过包含 `utils.h` 头文件来使用 `myFunction` 函数。
编译时,你需要将这三个文件一起编译成目标文件,然后链接器会将它们组合在一起生成可执行文件。你可以使用类似以下的命令来编译这些文件:
```bash g++ -o myprogram main.cpp utils.cpp ```
这样就可以实现在一个 `.cpp` 文件中引用另一个 `.cpp` 文件的功能。