繁体   English   中英

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

[英]Using multiple .cpp files in c++ program?

我最近从 Java 转移到 C++,但是现在当我编写我的应用程序时,我对在 main 函数中编写所有代码不感兴趣,我希望在 main 函数中调用另一个函数,但另一个函数在另一个 .cpp 文件中。

如果你不明白,让我更好地解释:
我有一个文件:里面有main.cpp我有 main 函数。

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

有什么帮助吗?

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

其他.h

void MyFunc();

主程序

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

其他.cpp

#include "other.h"
#include <iostream>
void MyFunc() {
    std::cout << "Ohai from another .cpp file!";
    std::cin.get();
}

您应该有包含函数声明的头文件 (.h),然后是包含定义的相应 .cpp 文件。 然后,您可以在任何需要的地方包含头文件。 请注意,包含定义的 .cpp 文件还需要包含(对应的)头文件。

// main.cpp
#include "second.h"
int main () {
    secondFunction();
}

// second.h
void secondFunction();

// second.cpp
#include "second.h"
void secondFunction() {
   // do stuff
}

在 C/C++ 中,您有头文件 (*.H)。 在那里你声明你的函数/类。 例如,您必须将#include "second.h"main.cpp文件中。

second.h您只需像这样声明void yourFunction(); second.cpp你实现它像

void yourFunction() { 
   doSomethng(); 
}

不要忘记#include "second.h"也在second.cpp的开头

希望这可以帮助:)

您可以简单地将您的second()函数的前向声明放在main()上方的main.cpp 如果您的second.cpp有多个函数,并且您希望将所有函数都放在main() ,请将second.cpp函数的所有前向声明放入一个头文件中,并在main.cpp #include

像这样-

第二.h:

void second();
int third();
double fourth();

主.cpp:

#include <iostream>
#include "second.h"
int main()
{
    //.....
    return 0;
}

第二个.cpp:

void second()
{
    //...
}

int third()
{ 
    //...
    return foo;
}

double fourth()
{ 
    //...
    return f;
}

请注意:在second.cpp没有必要#include "second.h" 您的编译器所需要的只是前向声明,而您的链接器将完成在其他文件中搜索这些声明的定义的工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM