多个cpp文件关联对#include".h"和#include".cpp"理解

来源:互联网 发布:村淘再用淘宝客 编辑:程序博客网 时间:2024/06/08 08:22

mytriangle.hbool is_valid(){} double getarea(){}mytriangle.cpp#include"mytriangle.h"#include<cstdio>#include<cmath>#define eps 1e-6bool is_valid(double side1,double side2,double side3){if(side1+side2<side3+eps)return false;if(side1+side3<side2+eps)return false;if(side2+side3<side1+eps)return false;return true;} double getarea(double side1,double side2,double side3){double area,s;s=(side1+side2+side3)/2;area=sqrt(s*(s-side1)*(s-side2)*(s-side3));return area;}4.5.cpp#include"mytriangle.cpp"#include<cstdio>int main(){double side1,side2,side3;scanf("%lf%lf%lf",&side1,&side2,&side3);if(!is_valid(side1,side2,side3)){printf("error");return 0;}printf("%.5f",getarea(side1,side2,side3));return 0;}


这就是把3个文件连起来了,不是很理解为何不能在4.5cpp里直接调用mytriangle.h,然后上网查了查。

#include".h"include".cpp"本质上就是把那个文件里的代码复制到这个文件里!

于是以上程序本质上就全塞到了4.5.cpp里面,变成了

bool is_valid(){} double getarea(){}#include<cstdio>#include<cmath>#define eps 1e-6bool is_valid(double side1,double side2,double side3){if(side1+side2<side3+eps)return false;if(side1+side3<side2+eps)return false;if(side2+side3<side1+eps)return false;return true;} double getarea(double side1,double side2,double side3){double area,s;s=(side1+side2+side3)/2;area=sqrt(s*(s-side1)*(s-side2)*(s-side3));return area;}#include<cstdio>int main(){double side1,side2,side3;scanf("%lf%lf%lf",&side1,&side2,&side3);if(!is_valid(side1,side2,side3)){printf("error");return 0;}printf("%.5f",getarea(side1,side2,side3));return 0;}


阅读全文
0 0
原创粉丝点击