P182 6.14:要求建立3个继承container的派生类cube、sphere与cylinder,让每一个派生类都包含虚函数surface_area()和volume(),分别用来计算正方体、球体和圆柱体的表面积及体积。分别计算边长为6.0的正方体、半径为5.0的球体,以及半径为5.0和高为6.0的圆柱体的表面积和体积。
#include<iostream>
using namespace std;
class container{
protected:
double radius;
public:
container(double radius1);
virtual double surface_area()=0;
virtual double volume()=0;
};
container::container(double radius1)
{ radius=radius1;}
class cube:public container{
public:
cube(double radius1):container(radius1)
{}
double surface_area()
{cout<<"正方体的表面积:"<<radius*radius*6<<endl;
return 0;}
double volume()
{ cout<<"正方体的体积:"<<radius*radius*radius<<endl;
return 0;}
};
class spehere:public container{
public:
spehere(double radius1):container(radius1)
{}
double surface_area()
{ cout<<"球体的表面积:"<<4*3.14*radius*radius<