0

请帮忙 - 什么是全局函数,它的用途和时间是什么?语法是(最简单的):

int Sum (Class_name h) {...}
4

2 回答 2

4

在 C++ 中,“全局函数”应该在 .cpp 文件中定义,并在 .h 文件中声明。

例如

总和.h:

int Sum(int a, int b); // declaration (prototype)

总和.cpp:

int Sum(int a, int b) // definition
{
    return a + b;
}

现在,如果您想在另一个 .cpp 文件中使用 Sum 函数,只需添加#include "Sum.h"并使用该函数。

另一个模块.cpp:

#include "Sum.h"

void MyOtherFunction()
{
    int var = Sum(3,4);
}
于 2013-02-20T17:45:33.273 回答
3

全局函数(在 C++ 中)是可在代码中的任何位置访问的函数。它是 C 编程语言的遗产。对于开始使用 java 这样的语言的人来说,它可能看起来很奇怪,因为它不在一个类中,但它有点像一个公共静态方法,因为你不需要任何对象来调用它

所以,你可以在任何地方使用这个函数......(只是为了确保它之前已经声明过(见注释),就像在头文件中一样。)最好将它们包含在命名空间中以避免与其他库的名称冲突并组织您的代码,但 C++ 允许在全局范围内声明它。

您可以在与任何对象没有关系时使用它,或者当它是仅在声明它的文件中使用的函数时使用它......例如,如果您想要在主目录之外进行初始化,或者您不想要的操作'不想上课等。对此没有严格的规定……这就是您的感受;)

注意:“声明”=你告诉编译器一个函数int Sum (Class_name h)存在,所以他不会侮辱你“你的函数没有被声明”

“已定义” = 你编写你的函数。需要告诉编译器这个函数做了什么例子: int sum(Class h){ return h.a + h.b; }

您需要在 .c/.cpp 中定义一次函数(此处不是“#define”;))并使用 .h 中的声明来使用它(除非您正在编辑定义函数的 .cpp,在这种情况下,这个函数需要在上面)

于 2013-02-20T17:47:58.223 回答