#include<iostream>
#include<string.h>
using namespace std;
class container
{
protected:
double radius;
public:
container(double r)
{
radius=r;
}
virtual double area()=0;
virtual double tiji()=0;
};//由此抽象类派生出要描述的3个类,即cube、sphere 和cylinder,在这3个类中都具有求表面积和体积的重定义版本。
class cube:public container//正方体
{
public:
cube(double c):container(c)
{
}
double area()
{
return 6*radius*radius;
}
double tiji()
{
return radius*radius*radius;
}
};
class sphere:public container//球体
{
public:
sphere(double s):container(s)
{
}
double area()
{
return 4*3.14*radius*radius;
}
double tiji()
{
return (4*3.14*radius*radius*radius)/3.0;
}
};
class cylinder:public container//圆柱体
{
private:
double height;
public:
cylinder(double h,double y):container(h)
{
height=h;
}
double area()
{
return 2*3.14*radius*(radius+height);
}