C++ 包含并从其他文件运行函数
我有两个文件,main.cpp和xyz.cpp,xyz.cpp有进行一些计算的函数(应该在最后输出),我想从main.cpp中的开关调用这个函数 main.cpp:C++ 包含并从其他文件运行函数,c++,function,C++,Function,我有两个文件,main.cpp和xyz.cpp,xyz.cpp有进行一些计算的函数(应该在最后输出),我想从main.cpp中的开关调用这个函数 main.cpp: #包括 #包括 #包括 #包括“xyz.cpp” int-cl; 使用名称空间std; int main(int argc,const char*argv[]{ cout>cl; 开关(cl){ 案例(1):{ //我想应该叫这里 } } 返回0; } xyz.cpp: 使用名称空间std; int函数(){ cout>a; o
#包括
#包括
#包括
#包括“xyz.cpp”
int-cl;
使用名称空间std;
int main(int argc,const char*argv[]{
cout>cl;
开关(cl){
案例(1):{
//我想应该叫这里
}
}
返回0;
}
xyz.cpp:
使用名称空间std;
int函数(){
cout>a;
o1p1=(1+cos(4*a));
o1p2=(1+cos(2*a));
o1=((sin(4*a))/o1p1)*((cos(2*a))/o1p2);
不能重命名您的方法,否则调用将是不明确的
使用名为“xyz.h”的头文件,在其中声明方法。然后,在main.cpp文件中,包括该头文件(而不是其源文件)。源文件“xyz.cpp”也应该包括头文件。然后在main.cpp中,只需像这样调用该方法:int returnedValue=myFunction();
完整示例:
xyz.h
xyz.cpp
#include <iostream>
#include <cmath>
#include "xyz.h"
using namespace std;
int myFunction() {
float a, o1p1, o1p2, o1;
cout << "Input number: ";
cin >> a;
o1p1 = (1+cos(4*a));
o1p2 = (1+cos(2*a));
o1 = ((sin(4*a))/o1p1)*((cos(2*a))/o1p2);
cout << "\nZ1 = ";
cout << o1;
cout << "\n ";
return 0;
}
在你有意见的地方,只需写下:
function();
但是,请注意,通常您希望包含头文件(即包含函数声明的文件),而不是源文件(包含定义的文件)
在标题中,您将有:
int function();
源文件应该是相同的
请注意,这意味着您必须编译两个源文件,而不仅仅是主文件
Georgioss-MBP:Desktop gsamaras$ g++ main.cpp xyz.cpp -lm
Georgioss-MBP:Desktop gsamaras$ ./a.out
Make ur choice (1-1)1
Input number: 2
Z1 = -2.18504
0
function();
int function();