小弟是一名大一学生。刚学C++,好多还不懂。
想请教各位大虾一个问题。就是在一个含有main函数的cpp文件里,使用另一个cpp文件里的函数,就是因为可以link所以才不用#include了吗?
下面是代码
//main.cpp
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
float a,b,d,e;
int c=0;
extern int area(int,int);
extern float area(float,float);
extern int area(int,int,int);
cout<<"请输入长方形(体)边长的有关参数"<<endl;
cout<<"长方形(体)的长是:";
cin>>a;
cout<<"长方形(体)的宽是:";
cin>>b;
cout<<"长方体的高是:(如果不是长方体,请输入0)";
cin>>c;
d=a-(int)a;
e=b-(int)b;
if(d==0&&e==0&&c==0)
cout<<"整型长方形的面积是:"<<area((int) a,(int)b);
else if(c==0)
cout<<"单精度长方形的面积是:"<<area(a,b);
else if(d==0&&e==0&&c!=0)
cout<<"整型长方体的表面积是:"<<area((int) a,(int)b,c)<<endl;
else
{
cout<<"输入的参数有错!"<<endl;
main();
}
system("pause");
return 0;
}
//function.cpp
int area(int a, int b)
{
return a*b;
}
float area(float a,float b)
{
return a*b;
}
int area(int a,int b,int c)
{
return 2*(a*b+b*c+a*c);
}
那这同时要请教下什么时候使用cpp 什么时候使用头文件包含?
为什么头文件需要预处理而cpp只需要申明extern就可以了呢?