第十三周任务(三)

来源:互联网 发布:常见网络接口 编辑:程序博客网 时间:2024/05/29 05:02
#include "iostream"#include<string>using namespace std;class CSolid{public :virtual double area() const=0;virtual double Volume() const=0;};class CCube:public CSolid{public:double area() const { return 6*L*L;}double Volume() const{ return L*L*L;}CCube (double l):L(l){}private:double L;};class CBall:public CSolid{public:double area () const {return 4*3.14*R*R;};double Volume() const {return 1.33*3.14*R*R*R;}CBall (double r):R(r){} private:double R;};class CCylinder:public CSolid{public:double area() const { return (3.14*D*D*2+2*3.14*D*H);};double Volume() const{ return 3.14*D*D*H;}CCylinder (double d , double h ):D(d),H(h){}private:double D;double H;};int main( )  {      CSolid *p;      double s,v;      CCube x(30);      cout<<"立方体边长为30"<<endl;      p=&x;      s=p->area( );      v=p->Volume( );      cout<<"表面积:"<<s<<endl;      cout<<"体积:"<<v<<endl;      cout<<endl;      CBall y(4.5);      cout<<"球体半径为4.5"<<endl;      p=&y;      s=p->area( );      v=p->Volume( );      cout<<"表面积:"<<s<<endl;      cout<<"体积:"<<v<<endl;      cout<<endl;      CCylinder z(10,20);      cout<<"圆柱体底面半径、高分别为10, 20"<<endl;      p=&z;  s=p->area( );      v=p->Volume( );      cout<<"表面积:"<<s<<endl;      cout<<"体积:"<<v<<endl;      cout<<endl;      system("pause");      return 0;  }  

原创粉丝点击