形状类族中的纯虚函数
2015-06-03 08:59
483 查看
代码:
运行结果:
#include "iostream" using namespace std; const double pai=3.14159; 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; }
运行结果:
相关文章推荐
- Maven
- 第13周项目1-动物这样叫(1)
- Mono为何能跨平台?聊聊CIL(MSIL)
- 13.2形状类族中的纯虚函数
- 关于打开Eclipse时出现eclipse failed to create the java virtual machine与locking is not possible in the direc
- 跑步
- 第十三周项目2形状类族中的虚函数
- 枚举使用方法
- fake wifi
- SqlServer的优化
- jquery滚动特效集锦
- php 开发工具
- 发邮件 用base64解码账号密码 方便调试
- 数据清洗小记:全角数字转换半角数字
- 段错误bug的调试
- 让人心动的jQuery插件和HTML5动画
- 2015-第十三周课后自主-动物怎么叫:虚函数
- C++刷题——2830: 递归求1*1+2*2+3*3+……+n*n
- 利用linux信号机制调试段错误(Segment fault)
- PHP高级特性一之正则表达式用法