【C++】单独编译--一个大型程序如何构造?

举报
王博Kings 发表于 2020/12/30 00:57:57 2020/12/30
【摘要】 目录 程序分为三部分 头文件包含的内容:  coordin.h  file1.cpp file2.cpp 运行结果 多个库连接问题  程序分为三部分 头文件:包含结构声明和使用这些结构的函数原型源代码文件:包含与结构相关的函数原型代码源代码文件:包含main,调用与结构相关的代码 头文件包含的内容: 函数原型使用#define 或者con...

目录

程序分为三部分

头文件包含的内容:

 coordin.h

 file1.cpp

file2.cpp

运行结果

多个库连接问题


 程序分为三部分

  1. 头文件:包含结构声明和使用这些结构的函数原型
  2. 源代码文件:包含与结构相关的函数原型代码
  3. 源代码文件:包含main,调用与结构相关的代码

头文件包含的内容:

  • 函数原型
  • 使用#define 或者const 定义的符号常量
  • 结构声明
  • 类声明
  • 模板声明
  • 内联函数

 coordin.h


      // coordin.h -- 结构和函数声明
      // structure templates
      // 直角坐标系--极坐标系的转换
      #ifndef COORDIN_H_
      #define COORDIN_H_
      struct polar //极坐标
      {
     	double distance;
     	double angle;
      };
      struct rect //直角坐标系
      {
     	double x;
     	double y;
      };
      // prototypes
      polar rect_to_polar(rect xypos);
      void show_polar(polar dapos);
      #endif
  
 

 file1.cpp


      // file1.cpp -- example of a three file program
      #include<iostream>
      #include"coordin.h"
      using namespace std;
      int main()
      {
      	rect rplace;
      	polar pplace;
     	cout << "请输入x和y的值:" << endl;
     	while (cin>>rplace.x>>rplace.y)
      	{
      		pplace = rect_to_polar(rplace);
      		show_polar(pplace);
     		cout << "下一组x,y的值(输入q退出):" << endl;
      	}
     	cout << "老铁,下次再见!" << endl;
     	return 0;
      }
  
 

file2.cpp


      // file2.cpp -- 包含file1.cpp的函数
      #include<iostream>
      #include<cmath>
      #include"coordin.h"
      //本函数转换直角坐标系到极坐标系
      polar rect_to_polar(rect xypos)
      {
     	using namespace std;
      	polar answer;
      	answer.distance = sqrt(xypos.x*xypos.x + xypos.y*xypos.y);
      	answer.angle = atan2(xypos.y, xypos.x);
     	return answer;
      }
      // 显示极坐标,转换角度到弧度
      void show_polar(polar dapos)
      {
     	using namespace std;
     	const double Rad_to_deg = 57.29577951;
     	cout << "distance = " << dapos.distance;
     	cout << ",angle = " << dapos.angle*Rad_to_deg;
     	cout << " degrees\n";
      }
  
 

运行结果

多个库连接问题

9.1节 

文章来源: kings.blog.csdn.net,作者:人工智能博士,版权归原作者所有,如需转载,请联系作者。

原文链接:kings.blog.csdn.net/article/details/95988305

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。