问题标题:
定义抽象基类Shape,其中纯虚函数printName()输出几何图形的名称和相应的成员数据、纯虚函数printArea()计算几何图形的面积.并由Shape类派生出5个派生类:Circle(圆形),数据成员为半径、Sq
问题描述:

定义抽象基类Shape,其中纯虚函数printName()输出几何图形的名称和相应的成员数据、纯虚函数printArea()计算几何图形的面积.并由Shape类派生出5个派生类:Circle(圆形),数据成员为半径、Square(正方形),数据成员为边长、Rectangle(长方形),数据成员为长和宽、Trapezoid(梯形),数据成员为上底、下底和高、Triangle(三角形),数据成员为底和高.定义一个指向基类的指针数组,使其每个元素指向一个动态产生的派生类对象,分别调用相应的成员函数显示各个几何图形的属性及面积,最终输出总面积值.

程序运行结果如下:

程序运行结果如下:

输入(依次输入圆半径、正方形边长、长方形长宽、梯形上底下底和高、三角形底边和高):

10

5

24

123

43

输出:

圆:半径=10,面积:314.159

正方形:边长=5,面积:25

长方形:长=2,宽=4,面积:8

梯形:上底=1,下底=2,高=3,面积:4.5

三角形:底边=4,高=3,面积:6

总面积:357.659

陈沫回答:
  #include   usingnamespacestd;   classShape{   public:   virtualvoidprintName()=0;   virtualvoidprintArea()=0;   };   classCircle:publicShape   {   public:   Circle(floatf=0.0f):Shape()   {   fbanjin=f;   }   voidprintName()   {   cout
其它推荐
热门其它推荐