下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 佛山2024年度技术服务协议
- 科学四下第二单元教育课件
- 面向高校的2024年度事业编制教师选聘合同
- 《尔林兔中心幼儿园》课件
- 钢管模板租赁合同价格分析与比较(2024版)3篇
- 委托催收协议完整版
- 2024年度保险代理与风险评估合同3篇
- 基于二零二四年市场调研的广告投放合同2篇
- 生意合伙协议书范本
- 2024年度企业对个人特许经营合同3篇
- 道路运输达标车辆核查记录表(货车)
- 三年级上册美术课件-6.新发现 |湘美版 (共21张PPT)
- 道德与法治《学会沟通交流》课件
- 医疗器械经营质量工作程序目录
- 围术期过敏反应的专家共识课件
- 初中英语《Unit-6-A-Country-Music-Song-Changed-Her-Life-Forever》教学课件设计
- 安全教育、二级内容
- 中医英语入门-学堂在线网课答案修改版
- 教师资格认定申请表(补)
- 金融工程学(第五版)第4章期权工具及其配置
- 细胞生物学实验医学细胞生物学实验指导
评论
0/150
提交评论