#include<iostream>
using namespace std;
const double pi=3.14;
class container{
protected:
double r;
public:
container(double radius)
{
r=radius;
}
virtual double surface_area()=0;
virtual double volume()=0;
};
class cube:public container{
public:
cube(double radius):container(radius)
{};
double surface_area()
{
return 6.0*r*r;
};
double volume()
{
return r*r*r;
}
};
class sphere:public container{
public:
sphere(double radius):container(radius)
{};
double surface_area()
{
return 4*pi*r*r;
};
double volume()
{
return pi*r*r*r*4/3;
}
};
class cylinder:public container{
protected:
double h;
public:
cylinder(double radius,double high):container(radius)
{
h=high;
};
double surface_area()
{
return 2*pi*r*(r+h);
};
double volume()
{
return pi*r*r*h;
}
};
int main()
{
container *p;
cube cu(6.0);
sphere sp(5.0);
cylinder cy(5.0,6.0);
p=&cu;
cout<<"正方体的表面积为:"<<p->surface_area()<<endl;
cout<<"正方体的体积为:"<<p->volume()<<endl;
p=&sp;
cout<<"球体的表面积为:"<<p->surface_area()<<endl;
cout<<"球体的体积为:"<<p->volume()<<endl;
p=&cy;
cout<<"圆柱体的表面积为:"<<p->surface_area()<<endl;
cout<<"圆柱体的体积为:"<<p->volume()<<endl;
system("pause");
return 0;
}
6.14
最新推荐文章于 2024-06-16 20:39:01 发布