飛飛(五十三)各种物体体积和表面积(完整版)
2016-05-31 19:36
351 查看
/* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作 者:李飞 *完成日期:2016年 5月 31日 *版 本 号:1.0 * *问题描述:各种物体体积和表面积(完整版) *输入描述: *程序输出: */ #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; }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C# Pointer指针应用实例简述
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例