我最近从Java转向C ++,但现在当我编写应用程序时,我并不感兴趣在主函数中编写主函数中的所有代码来调用另一个函数但是其他函数在另一个.cpp文件。
如果您不理解,请让我解释一下:
我有一个文件:main.cpp
里面有我的主要功能。
我有第二个文件:second.cpp
我有一个名为second()
的函数我想从我的main函数中调用这个名为second()
的函数。
任何帮助?
答案 0 :(得分:62)
您必须使用名为“标题”的工具。在标题中,您声明要使用的函数。然后将其包含在两个文件中。标头是使用#include
指令包含的单独文件。然后你可以调用另一个函数。
void MyFunc();
#include "other.h"
int main() {
MyFunc();
}
#include "other.h"
#include <iostream>
void MyFunc() {
std::cout << "Ohai from another .cpp file!";
std::cin.get();
}
答案 1 :(得分:17)
您应该有包含函数声明的头文件(.h),然后是包含该定义的相应.cpp文件。然后,您可以在任何需要的位置包含头文件。请注意,包含定义的.cpp文件还需要包含(它对应的)头文件。
// main.cpp
#include "second.h"
int main () {
secondFunction();
}
// second.h
void secondFunction();
// second.cpp
#include "second.h"
void secondFunction() {
// do stuff
}
答案 2 :(得分:6)
在C / C ++中,您有头文件(* .H)。在那里你宣布你的功能/类。例如,您必须#include "second.h"
到main.cpp
文件。
在second.h
中,您只需声明void yourFunction();
在second.cpp
中,您可以像
void yourFunction() {
doSomethng();
}
在#include "second.h"
second.cpp
希望这会有所帮助:)
答案 3 :(得分:0)
您可以简单地将second()
函数的前向声明放在main.cpp
上方的main()
中。如果您的second.cpp
具有多个函数,并且您希望将其全部包含在main()
中,请将second.cpp
中的所有函数前向声明放入头文件中,并#include
在main.cpp
中。
像这样-
第二小时:
void second();
int third();
double fourth();
main.cpp:
#include <iostream>
#include "second.h"
int main()
{
//.....
return 0;
}
second.cpp:
void second()
{
//...
}
int third()
{
//...
return foo;
}
double fourth()
{
//...
return f;
}
请注意:不必在#include "second.h"
中使用second.cpp
。编译器只需要向前声明,链接程序就会在其他文件中搜索这些声明的定义。