在c++程序中使用多个.cpp文件
Using multiple .cpp files in c++ program?
我最近从Java迁移到c++,但现在当我编写应用程序时,我对在主函数中编写所有代码不感兴趣,我想在主函数中调用另一个函数,但这个其他函数在另一个。cpp文件中。
如果你听不懂,我再解释一下:
我有一个文件:main.cpp
,里面有main函数。
我有第二个文件:second.cpp
里面我有一个叫做second()
的函数,我想从我的主函数中调用这个叫做second()
的函数。
帮忙吗?
你必须使用一个叫做"header"的工具。在头文件中声明要使用的函数。然后将其包含在两个文件中。头文件是使用#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();
}
应该有包含函数声明的头文件(.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
中所有函数的前向声明放在一个头文件中,把#include
放在main.cpp
中。
-
Second.h:
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;
}
注意:second.cpp
中不需要#include "second.h"
。编译器所需要的只是前向声明,链接器将在其他文件中搜索这些声明的定义。
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 命名空间中具有.h和.cpp文件的类
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- 有充分的理由在h文件中使用include保护而不是cpp文件吗
- 如何在cpp文件之间切换窗口?在Qt中
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 我有两个类需要在同一 cpp 文件中相互引用,但第一个类无法识别第二个类类型的对象
- .h 和.cpp文件分离时出错,但仅使用 .h 文件时没有错误.我做错了什么?
- 库标题在标题中不可见,但在 cmake build 下.cpp文件中完全可见.为什么?
- C++ 链接到单独的.cpp文件说"multiple definitions"
- 在 cpp 文件中隐藏采用模板参数引用的方法
- 如何使用 samtools C API 构建一个简单的主.cpp文件
- 包含在.cpp文件中包含在 .h 文件时包含
- C++(.cpp文件和.h文件)拆分代码并添加一个函数,提取 - 这很容易吗?
- 在头文件和 cpp 文件中使用一次 #pragma 时出现结构重定义错误
- 如何使用线程类编译 cpp 文件?
- 使用 Powershell 命令将 cpp 文件的文件夹编译为 GNU 的 g++
- 我应该将外部标头放在 .h 文件还是.cpp文件中?
- 从另一个 cpp 文件更改结构内、映射键内的变量