#include "stdio.h"
const double P=3.14;
class Circle{
public:
virtual double Area();
void R(double s);
double getr();
private:
double radius;
};
void Circle::R(double r)
{
radius=r;
}
double Circle::getr()
{
return radius;
}
double Circle::Area()
{
return P*radius*radius;
}
class Cylinder:public Circle
{
public :
Cylinder(double h1);
double R(double r);
double Area();
void A(Circle cc);
private :
double h;
double s;
};
Cylinder::Cylinder( double h1)
{
h=h1;
}
void Cylinder::A(Circle cc)
{
s=cc.Area()+2*P*h*cc.getr();
}
double Cylinder::Area()
{
return s;
}
void main()
{
Circle c;
c.R(1);
printf("圆的面积为:%0.2f\n",c.Area());
Cylinder c1(1);
c1.A(c);
printf("圆柱体的面积为:%0.2f\n",c1.Area());
}