立体类族共有的抽象类

原创 2016年05月31日 20:17:14


#include <iostream>

using namespace std;
class CSolid
{
    public:
      virtual  double  area()const;//表面积
    virtual  double  volume()const;//体积
};
class CCube:public CSolid{
public:
    CCube(double a){A=a;}
    double  area()const{return  A*A*6; }
    double  volume()const{return  A*A*A;}
private:
    double A;
};
class CBall:public CSolid{
public:
    CBall(double r){R=r;}
    double  area()const{return  4*3.141593*R*R; }
    double  volume()const{return  3.141593*1.333*R*R*R;}
private:
    double R;
};
class CCylinder:public CSolid{
public:
    CCylinder(double r,double h){R=r;H=h;}
    double  area()const{return  3.141593*R*R*2+2*3.141593*R*H; }
    double  volume()const{return  3.141593*R*R*H;}
private:
    double R,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;
    return 0;
}

相关文章推荐

第13周-多态性-项目3-立体类族共有的抽象类

/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:刘畅 * 完成日期:201...

第十三周--立体类族共有的抽象类

问题及代码: /*copyright 计算机与控制工程学院 完成日期;2016/5/24 作者:马艳艳 文件名称:立体类族共有的抽象类 输入描述:无 输出描述:体积面积值 */ #incl...

项目三-立体类族共有的抽象类

项目3-立体类族共有的抽象类     设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在ma...

第十三周【项目4-立体类族共有的抽象类】

/* *Copyright(c) 2016, 烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:张珩瑞 *完成日期:20...

第十三周 项目3-立体类族共有的抽象类

项目3-立体类族共有的抽象类】     设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在mai...

C++走向远洋——60(项目四、立体类族共有的抽象类)

*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Wo...
  • vcx08
  • vcx08
  • 2016年06月02日 21:04
  • 562

14周【项目3-立体类族共有的抽象类】

/* * 程序的版权和版本声明部分 * Copyright (c)2014, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: array.cpp * 作 ...

第十三周(立体类族共有的抽象类)

/* *copyright(c) 2015,烟台大学计算机学院 *All rights reserved。 *文件名称:第十三周(立体类族共有的抽象类) *作者:王忠 *完成日期...

第13周 项目三-立体族中共有的抽象类

设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义CSolid *p;(p...

15第十三周项目三——立体类族共有的抽象类

/*  * Copyright (c) 2014, 烟台大学计算机学院  * All rights reserved.  * 文件名称:test.cpp  * 作    者:李晓凯  * 完...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:立体类族共有的抽象类
举报原因:
原因补充:

(最多只允许输入30个字)