版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、设计三个图形类:Circle(圆)、Rectangle(矩形)、Triangle(三角形);1、Cirlce 类基本信息:圆心坐标、半径;Rectangle 类基本信息:长、宽;Triangle 类基本信息:三个顶点坐标;其中:成员变量为 private 属性,成员函数为public 属性;2、每个图形类有多个构造函数:缺省构造函数、带参数的构造函数;3、每个图形类有计算图形的面积GetArea(),显示图形的基本信息函数Show(),修改基本信息的函数Set(形参)。以Circle 类为例:通过GetArea()计算圆的面积,Show()函数中显示圆心坐标、直径、周长、面积等基本信息;Set
2、(int x,int y, int r)函数可以修改圆心坐标和半径。实验提示1、注意多个构造函数的声明方式与定义实现;2、当输入数据为不合理数据时(例如:输入的三角形的顶点是否能组成一个三角形),提示用户输入错误;测试数据1、Circle 类测试数据:圆心:(20,30) 半径:5(-20,40) 30(40,-10) -52、Rectangle 类测试数据:顶点坐标:20,5040,5-9,1043,-83、Triangle 类测试数据:顶点:(20,30)、(40,50)、(40,20)(10,10)、(50,10)、(35,10)#includeusing namespace std;#
3、includeclass Shape/抽象类,公共基类public: virtual double Area()const=0;/计算各对象面积 virtual double Perim()const=0;/计算各对象周长 virtual void Show()=0;/输出各对象面积和周长;class Rectangle:public Shape/矩形类private: double Length;/长 double Width;/宽public: Rectangle(double Length=0,double Width=0)/构造函数 this-Length=Length; this-W
4、idth=Width; Rectangle()/析构函数 double Area() const/矩形面积 return Length*Width; double Perim() const/矩形周长 return 2*(Length+Width); void Show()/输出矩形面积和周长 coutArea is:Area()endl; coutPerim is:Perim()endlRadius=Radius; Circle()/析构函数 double Area() const/圆面积 return PI*Radius*Radius; double Perim() const/圆周长 r
5、eturn 2*PI*Radius; void Show()/输出圆的面积和周长 coutArea is:Area()endl; coutPerim is:Perim()endlA=A; this-B=B; this-C=C; Triangle()/析构函数 double Area() const/三角形面积 double P; P=(A+B+C)/2; return sqrt(P*(P-A)*(P-B)*(P-C); double Perim() const/三角形周长 return (A+B+C); void Show()/输出三角形面积和周长 coutArea is:Area()endl
6、; coutPerim is:Perim()endlendl; ;void main()double Length,Width,Radius,A,B,C; coutRectangle:endl;loopa:cout请输入矩形的长和宽(Length,Width):LengthWidth; if(Length=0|Width=0)cout输入的长宽不能构成一个矩形!请重新输入!endl;goto loopa;elseRectangle Rect(Length,Width);/建立矩形对象Rect.Show();/调用矩形类的输出函数coutCircle:endl;loopb:cout请输入圆形的半径(Radius):Radius; if(Radius=0)cout输入的半径不能构成一个圆!请重新输入!endl;goto loopb;elseCircle Cir(Radius);/建立圆对象Cir.Show();/调用圆类的输出函数coutTriangle:endl;loopc:cout请输入三角形的三边(A,B,C):ABC; if(A=0|B=0|C=0|(A+B)=C|(A+C)=B|(B+C)=A)/判断是否能构成三角形 cout输入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广西北海市农业技术服务中心招录公益性岗位人员1人考试参考试题及答案解析
- 2026年贵州商业储运集团有限公司校园招聘考试备考试题及答案解析
- 中信出版大众出版领军积极拓展IP与AI新增长曲线
- 中央应急管理部所属单位2025年度第一批次招聘19人笔试历年参考题库附带答案详解(5卷)
- 2026年中国东方电气集团有限公司校园招聘笔试备考试题及答案解析
- 2026第一季度湖北黄冈市重点企业急需紧缺岗位需求信息笔试历年参考题库附带答案详解
- 2026浙江航联物产有限公司招聘3人考试备考试题及答案解析
- 2026安徽滁州市鸿皓人力资源有限公司招聘劳务派遣人员参加考生笔试历年参考题库附带答案详解
- 2026中铝数为(成都)科技有限责任公司社会招聘笔试历年参考题库附带答案详解
- 2026年莱芜旅游发展集团有限公司校园招聘考试备考题库及答案解析
- 小飞手无人机课件
- 浅基坑承台开挖施工方案
- 对简支钢桁架桥的设计进行计算分析
- 面部美容缝合技术要点
- 《运动营养指导》课件
- 化工原理实验--绪论学习资料
- 温室火灾的防控与处理
- 空调安装调试及售后服务方案
- 4.3.1空间直角坐标系市公开课一等奖课件公开课一等奖课件省赛课获奖课件
- 居然之家租赁合同
- 四乙基铅抗爆剂生产技术项目可行性研究报告
评论
0/150
提交评论