1、设计三个图形类:Circle(圆)、Rectangle(矩形)、Triangle(三角形);1、Cirlce 类基本信息:圆心坐标、半径;Rectangle 类基本信息:长、宽;Triangle 类基本信息:三个顶点坐标;其中:成员变量为 private 属性,成员函数为 public 属性;2、每个图形类有多个构造函数:缺省构造函数、带参数的构造函数;3、每个图形类有计算图形的面积GetArea(),显示图形的基本信息函数 Show(),修改基本信息的函数Set(形参)。以Circle 类为例:通过GetArea()计算圆的面积,Show()函数中显示圆心坐标、直径、周长、面积等基本信息;S
2、et(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 st
3、d;#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-Width=
4、Width;Rectangle()/析构函数double Area() const/矩形面积return Length*Width;double Perim() const/矩形周长return 2*(Length+Width);void Show()/输出矩形面积和周长coutRadius=Radius;Circle()/析构函数double Area() const/圆面积return PI*Radius*Radius;double Perim() const/圆周长return 2*PI*Radius;void Show()/输出圆的面积和周长coutA=A;this-B=B;this-
5、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()/输出三角形面积和周长 coutLengthWidth;if(LengthRadius;if(RadiusABC;if(A=0|B=0|C=0|(A+B)=C|(A+C)=B|(B+C)=A)/判断是否能构成三角形cout“输入的三边值不能构成一个三角形 !请重新输入 !“endl;goto loopc;elseTriangle Tri(A,B,C);/建立三角形对象Tri.Show();/调用三角形输出函数