在c ++程序中使用多个.cpp文件?

时间:2011-08-09 11:37:22

标签: c++ function

我最近从Java转向C ++,但现在当我编写应用程序时,我并不感兴趣在主函数中编写主函数中的所有代码来调用另一个函数但是其他函数在另一个.cpp文件。

如果您不理解,请让我解释一下:
我有一个文件:main.cpp里面有我的主要功能。

我有第二个文件:second.cpp我有一个名为second()的函数我想从我的main函数中调用这个名为second()的函数。

任何帮助?

4 个答案:

答案 0 :(得分:62)

您必须使用名为“标题”的工具。在标题中,您声明要使用的函数。然后将其包含在两个文件中。标头是使用#include指令包含的单独文件。然后你可以调用另一个函数。

other.h

void MyFunc();

的main.cpp

#include "other.h"
int main() {
    MyFunc();
}

other.cpp

#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中的所有函数前向声明放入头文件中,并#includemain.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。编译器只需要向前声明,链接程序就会在其他文件中搜索这些声明的定义。