作业6.14

来源:互联网 发布:illustrator mac 破解 编辑:程序博客网 时间:2024/04/29 03:24
#include<iostream>using namespace std;class container{protected:double radius;public:container(double radius1){radius=radius1;}virtual double surface_area()=0;//基类的虚函数virtual double volume()=0;//基类的虚函数};class cube:public container{double r;public:cube(double radius1):container(radius1){};      double surface_area()  {  cout<<"正方体边长为:"<<radius<<endl;cout<<"正方体的表面积为:"<<6*radius*radius<<endl;    return 0;  }      double volume()  {  cout<<"正方体的体积为:"<<radius*radius*radius<<endl;      return 0;  }};class sphere:public container{double r;public:sphere(double radius1):container(radius1){};      double surface_area()  {  cout<<"球体的半径为:"<<radius<<endl;  cout<<"球体的表面积为:"<<4*3.1416*radius*radius<<endl;      return 0;  }      double volume()  {  cout<<"球体的体积为:"<<(4*3.1416*radius*radius*radius)/3<<endl;      return 0;  }};class cylinder:public container{double r;double h;public:cylinder(double radius1,double h1):container(radius1){ h=h1;}      double surface_area()  {  cout<<"圆柱体的半径为:"<<radius<<"高为:"<<h<<endl;  cout<<"圆柱体的表面积为:"<<3.1416*radius*radius*2+2*radius*3.1416*h<<endl;      return 0;  }      double volume()  {  cout<<"圆柱体的体积为:"<<3.1416*radius*radius*h<<endl;      return 0;  }};int main(){container *p;cube c1(6.0);sphere s1(5.0);cylinder cy1(5.0,6.0);p=&c1;p->surface_area();    p->volume();    p=&s1;p->surface_area();    p->volume();    p=&cy1;p->surface_area();    p->volume();return 0;}

0 0
原创粉丝点击