c++图形类设计_第1页
c++图形类设计_第2页
c++图形类设计_第3页
c++图形类设计_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上设计三个图形类:Circle(圆)、Rectangle(矩形)、Triangle(三角形);1、Cirlce 类基本信息:圆心坐标、半径;Rectangle 类基本信息:长、宽;Triangle 类基本信息:三个顶点坐标;其中:成员变量为 private 属性,成员函数为public 属性;2、每个图形类有多个构造函数:缺省构造函数、带参数的构造函数;3、每个图形类有计算图形的面积GetArea(),显示图形的基本信息函数Show(),修改基本信息的函数Set(形参)。以Circle 类为例:通过GetArea()计算圆的面积,Show()函数中显示圆心坐标、直径、周

2、长、面积等基本信息;Set(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)#include<iost

3、ream>using namespace std;#include<math.h>class 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,doub

4、le Width=0)/构造函数 this->Length=Length; this->Width=Width; Rectangle()/析构函数 double Area() const/矩形面积 return Length*Width; double Perim() const/矩形周长 return 2*(Length+Width); void Show()/输出矩形面积和周长 cout<<"Area is:"<<Area()<<endl; cout<<"Perim is:"<<

5、Perim()<<endl<<endl; ;const double PI=3.14159;class Circle:public Shape/圆类private: double Radius;/圆的半径public: Circle(double Radius=0)/构造函数 this->Radius=Radius; Circle()/析构函数 double Area() const/圆面积 return PI*Radius*Radius; double Perim() const/圆周长 return 2*PI*Radius; void Show()/输出圆的面

6、积和周长 cout<<"Area is:"<<Area()<<endl; cout<<"Perim is:"<<Perim()<<endl<<endl; ;class Triangle:public Shape/三角形类private: double A,B,C;/三角形三边public: Triangle(double A=0,double B=0,double C=0)/构造函数 this->A=A; this->B=B; this->C=C; Tr

7、iangle()/析构函数 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()/输出三角形面积和周长 cout<<"Area is:"<<Area()<<endl; cout<<"Perim is:"<<Perim()<<endl<<endl; ;voi

8、d main()double Length,Width,Radius,A,B,C; cout<<"Rectangle:"<<endl;loopa:cout<<"请输入矩形的长和宽(Length,Width):"<<endl; cin>>Length>>Width; if(Length<=0|Width<=0)cout<<"输入的长宽不能构成一个矩形!请重新输入!"<<endl;goto loopa;elseRectangle R

9、ect(Length,Width);/建立矩形对象Rect.Show();/调用矩形类的输出函数cout<<"Circle:"<<endl;loopb:cout<<"请输入圆形的半径(Radius):"<<endl; cin>>Radius; if(Radius<=0)cout<<"输入的半径不能构成一个圆!请重新输入!"<<endl;goto loopb;elseCircle Cir(Radius);/建立圆对象Cir.Show();/调用圆类的输出函数cout<<"Triangle:"<<endl;loopc:cout<<"请输入三角形的三边(A,B,C):"<<endl; cin>>A>>B>>C; if(A<=0|B<=0|C<=0|(A+B)<=C|(A+C)<=B|(B+C)<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论