6.14

来源:互联网 发布:mac口红哪款滋润度好 编辑:程序博客网 时间:2024/06/15 02:32
#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;}void show(){cout<<"边长为"<<r<<"的正方体"<<endl;}};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;}void show(){cout<<"半径为"<<r<<"的球体:"<<endl;}};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;}void show(){cout<<"半径为"<<r<<"高为"<<h<<"的圆柱体:"<<endl;}};int main(){container *p;cube z(6.2);sphere q(6.3);cylinder y(6.4,6.5);p=&z;z.show();cout<<"表面积为:"<<p->surface_area()<<endl;cout<<"体积为:"<<p->volume()<<endl;cout<<"---------------------------"<<endl;p=&q;q.show ();cout<<"表面积为:"<<p->surface_area()<<endl;cout<<"体积为:"<<p->volume()<<endl;cout<<"---------------------------"<<endl;p=&y;y.show();cout<<"圆柱体的表面积为:"<<p->surface_area()<<endl;cout<<"圆柱体的体积为:"<<p->volume()<<endl;system("pause");return 0;}

0 0
原创粉丝点击