



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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)/判断是否能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水利工程中的地下水资源管理与保护考核试卷
- 棉麻行业发展趋势分析考核试卷
- 海洋生物制药临床研究与评价考核试卷
- 电子商务中的社交购物趋势考核试卷
- 滑动轴承的静力学与动力学分析考核试卷
- 影视设备仓储物流咨询批发考核试卷
- 光电子器件在太赫兹技术的应用前景考核试卷
- 生态环境宣传教育与普及考核试卷
- 曲阜师范大学《植物造景与庭院设计》2023-2024学年第二学期期末试卷
- 山东省德州夏津县2024-2025学年初三质量检测试题(三)化学试题含解析
- 急性心力衰竭试题附答案
- 房室结折返性心动过速
- 光伏工程绿色施工、节能减排方案
- 历史学科中考复习方法交流
- GB/T 6284-2006化工产品中水分测定的通用方法干燥减量法
- GB/T 4025-2010人机界面标志标识的基本和安全规则指示器和操作器件的编码规则
- GB/T 22080-2016信息技术安全技术信息安全管理体系要求
- GB/T 18711-2002选煤用磁铁矿粉试验方法
- GB/T 17766-1999固体矿产资源/储量分类
- 小学生防溺水安全教育主题班会PPT
- 5030i仪器原理、维护与操作
评论
0/150
提交评论