当我们在一个项目中有多个 C++ 源文件时,我们需要知道如何在不同的文件中调用其它文件的函数。
下面是两个cpp文件间如何进行各自函数的调用方式的攻略:
声明和定义
要在一个文件中使用另一个文件中定义的函数,我们必须将该函数的定义标记为 “extern”,并在需要使用它的文件中进行声明。
例如,如果我们有两个文件,一个叫做 main.cpp
和另一个叫做 helper.cpp
,并且我们需要在 main.cpp
文件中使用 helper.cpp
文件中定义的函数,我们可以在 main.cpp
文件中进行函数声明:
extern void someFunction();
在 helper.cpp
文件中定义相同的函数:
void someFunction()
{
// do something
}
这样,在 main.cpp
文件中使用 someFunction()
函数时,编译器就知道在哪里可以找到它。
头文件
一种更常见的解决方案是使用头文件。头文件包含对函数、变量和类的声明。这些声明允许您在源文件中使用同一模块中的其它函数或外部模块的函数。
以下是一个简单的例子:
helper.cpp
#include "helper.h"
void someFunction()
{
// do something
}
helper.h
#ifndef HELPER_H
#define HELPER_H
void someFunction();
#endif
main.cpp
#include "helper.h"
int main()
{
someFunction();
return 0;
}
头文件 helper.h
用于声明 someFunction()
函数,然后在 helper.cpp
中定义该函数。在 main.cpp
中包括头文件 helper.h
,编译器就知道在哪里可以找到 someFunction()
函数。
示例
示例一:在两个文件中定义和调用一个函数
main.cpp
#include <iostream>
// 调用 helper.cpp 文件中的函数
extern void myFunction();
int main()
{
myFunction();
return 0;
}
helper.cpp
#include <iostream>
// helper.cpp 文件定义的函数
void myFunction()
{
std::cout << "Hello from helper.cpp!" << std::endl;
}
首先,我们在 main.cpp
文件中声明 myFunction
函数。然后在 helper.cpp
文件中定义该函数。最后,我们将两个文件一起编译,将它们链接在一起,就可以成功地调用myFunction()
函数了。
示例二:使用头文件
这是一个更复杂的示例,它演示了使用头文件来从另一个文件中调用函数的方法。
main.cpp
#include <iostream>
#include "helper.h"
int main()
{
int a = 5;
int b = 3;
int result = add(a, b);
std::cout << "The result is: " << result << std::endl;
return 0;
}
helper.cpp
#include "helper.h"
int add(int a, int b)
{
return a + b;
}
helper.h
#ifndef HELPER_H
#define HELPER_H
int add(int a, int b);
#endif
在这个例子中,我们创建了一个头文件 helper.h
,其中声明了一个函数 add()
。然后,我们在 main.cpp
文件中包含头文件 helper.h
,并调用 add()
函数来对两个数字进行求和。
在 helper.cpp
中实现了该函数的具体定义。
注意,在这个例子中,我们没有使用 extern
关键字显式地声明函数定义,因为使用头文件使其成为可能。(当然,您也可以使用extern显式地进行声明)
综上,以上就是C++两个cpp文件间如何进行各自函数的调用方式的攻略,您可以根据实际需求来选择其中的方式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++两个cpp文件间如何进行各自函数的调用方式 - Python技术站