各种物体的表面积体积

来源:互联网 发布:mmd h动作数据 编辑:程序博客网 时间:2024/04/28 06:43
/**烟台大学计算机学院*文件名称:main.cpp*作    者:王者健*完成日期:2016年6月15日*版 本 号:codeblocks 16.01*问题描述:*输入描述:*程序输出:*/#include <iostream>#include<Cmath>using namespace std;const double pai=3.1415926;class CSolid{public:      virtual double SurfaceArea()const=0;      virtual double Volume()const =0;};//立方体类class CCube:public CSolid{public:      CCube(double len=0);      double SurfaceArea()const;      double Volume()const;private:      double length;};CCube::CCube(double len){      length=len;}double CCube::SurfaceArea()const{      double c;      c=6*length*length;      return c;}double CCube::Volume()const{      double c;      c=length*length*length;      return c;}//球类class CBall: public CSolid{private:      double radius;public:      CBall(double r=0);      double SurfaceArea()const;      double Volume()const;};CBall::CBall(double r){      radius=r;}double CBall::SurfaceArea()const{      double c;      c=4*pai*radius*radius;      return c;}double CBall::Volume()const{      double c;      c=pai*radius*radius*radius*4/3;      return c;}//圆柱类class CCylinder: public CSolid{private:      double radius;      double height;public:      CCylinder(double r=0,double high=0);      double SurfaceArea()const;      double Volume()const;};CCylinder::CCylinder(double r,double high){      radius=r;      height=high;}double CCylinder::SurfaceArea()const{      double c;      c=2*pai*radius*radius+2*pai*radius*height;      return c;}double CCylinder::Volume()const{      double c;      c=pai*radius*radius*height;      return c;}int main(){      CSolid *p;      double s,v;      CCube x(30);      cout<<"正方体的边长是30"<<endl;      p=&x;      s=p->SurfaceArea();      v=p->Volume();      cout<<"表面积为:"<<s<<endl;      cout<<"体积为:"<<v<<endl;      cout<<endl;      CBall y(4.5);      cout<<"球体的半径为4.5"<<endl;      p=&y;      s=p->SurfaceArea();      v=p->Volume();      cout<<"表面积:"<<s<<endl;      cout<<"体积:"<<v<<endl;      cout<<endl;      CCylinder z(10,20);      cout<<"圆柱体底面半径,高分别为10,20"<<endl;      p=&z;      s=p->SurfaceArea();      v=p->Volume();      cout<<"表面积:"<<s<<endl;      cout<<"体积:"<<v<<endl;      cout<<endl;      return 0;}

0 0