如何在 C++ 的单独文件中定义 "Hello World" 函数

How do you define a "Hello World" function in a seperate file in c++

我很抱歉问了一个非常基本的问题,但基本上,我无法理解包括“fileImade.h”

我正在尝试编写一个主要功能,类似于

int main()
{
int x = 5;
int y x 6;
std::cout << add(x, y) << std::endl;
}

其中 add() 是在一个单独的 .cpp 文件中定义的,并且在这个文件中定义了 #include,(我这样做是因为我意识到我的代码变得不切实际一个文件。),但我的理解是你需要一个头文件来......将你的其他文件粘合在一起,或者我猜如果文件是砖块,我猜它们,但我绝对不知道如何使它工作我的生活。

(使用 g++ 时),我应该标记 -I 吗?根据我的谷歌搜索,是的,根据我的编译器输出,没有。

我应该为 add() 函数编写头文件和 .cpp 文件吗?显然,是或否,如果我选择在 -o.

之前的命令行中写入两个文件

我应该在我的 main.cpp 文件中包含函数的前向声明吗?同样,根据互联网,是的,虽然这对我来说不是很好。

所以对于我的问题:有人可以向我展示一个在单独的文件中调用 hello world() 函数的 main() 函数吗?

老实说,我对此束手无策,因为所有指南似乎都是关于在头文件中定义 类,这虽然有用,但有点超出了我的范围现在正在尝试。

提前感谢您的阅读,以及提供的任何建议。

文件分离的逻辑可以想象为:

(单文件程序)

/// DECLARATION of all functions needed in the main
int add(int x, int y); // declaration of add

///
int main()
{
    std::cout << add(2, 3) << std::endl;
    return 0;
}

/// IMPLEMENTATION of all functions needed in the main
int add(int x, int y)
{
    return x + y;
}

接下来您要做的是将所有声明移至 headers 并将实现移至 cpps:

(分离文件程序)

/// add.h
#ifndef ADD_H /// https://en.wikipedia.org/wiki/Include_guard
#define ADD_H
int add(int x, int y);
#endif

/// main.cpp
#include "add.h"

int main()
{
    std::cout << add(2, 3) << std::endl;
    return 0;
}

/// add.cpp
#include "add.h"

int add(int x, int y)
{
    return x + y;
}