字典翻译 问答 其它 定义一个基类圆形Circle类定义一个基类圆形Circle类,它有一个私有数据成员radius和成员函数Area().Area()可以求圆的面积.从Circle类可以派生出圆柱体Cylinder类,它有自己的私有数据成员高度height,
问题标题:
定义一个基类圆形Circle类定义一个基类圆形Circle类,它有一个私有数据成员radius和成员函数Area().Area()可以求圆的面积.从Circle类可以派生出圆柱体Cylinder类,它有自己的私有数据成员高度height,
问题描述:

定义一个基类圆形Circle类

定义一个基类圆形Circle类,它有一个私有数据成员radius和成员函数Area().Area()可以求圆的面积.从Circle类可以派生出圆柱体Cylinder类,它有自己的私有数据成员高度height,它也有成员函数Area()来求圆柱体的表面积.分别建立Circle类和Cylinder类的对象,设计一个函数分别求它们的面积,试用虚函数来解决多态问题.

黎海兵回答:
  #include"stdio.h"   constdoubleP=3.14;   classCircle{   public:   virtualdoubleArea();   voidR(doubles);   doublegetr();   private:   doubleradius;   };   voidCircle::R(doubler)   {   radius=r;   }   doubleCircle::getr()   {   returnradius;   }   doubleCircle::Area()   {   returnP*radius*radius;   }   classCylinder:publicCircle   {   public:   Cylinder(doubleh1);   doubleR(doubler);   doubleArea();   voidA(Circlecc);   private:   doubleh;   doubles;   };   Cylinder::Cylinder(doubleh1)   {   h=h1;   }   voidCylinder::A(Circlecc)   {   s=cc.Area()+2*P*h*cc.getr();   }   doubleCylinder::Area()   {   returns;   }   voidmain()   {   Circlec;   c.R(1);   printf("圆的面积为:%0.2fn",c.Area());   Cylinderc1(1);   c1.A(c);   printf("圆柱体的面积为:%0.2fn",c1.Area());   }
点击显示
其它推荐
热门其它推荐
  • 其它