第13周 项目4
来源:互联网 发布:linux 中文输入 编辑:程序博客网 时间:2024/04/27 01:00
/**Copyright (c)2016,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:main.cpp*作 者:肖雪*完成日期:2016年6.14*版 本 号:v1.0*问题描述:设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。* 设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。* 在main()函数中,定义CSolid *p;(p是指向基类的指针,且这个基类是个抽象类)。* 要求利用这个p指针,能够求出正方体、球体及圆柱体对象的表面积及体积。*/ #include "iostream"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;}
<img src="http://img.blog.csdn.net/20160614221508288" alt="" />
0 0
- 第13周 项目4
- 第13周项目
- 第13周项目1(4)
- 第13周项目1(4)
- 第13周项目1-4
- 第13周项目4-选择排序
- 第13周项目4-冒泡排序
- 第13周项目 4 冒泡输出
- 第13周项目—阅读4
- 第13周项目 程序阅读(4)
- 第13周项目1 (4)
- 第13周项目4-Floyd算法
- 第13周 【项目 - 链表类】阅读项目
- 第13周项目-汉诺塔
- 第13周项目1
- 第13 周-项目2
- 第13周项目2
- 第13周 项目一
- 关于糖尿病,这些你知道吗?
- mysql中查询null或非null的方法
- 纯CSS实现下拉菜单导航
- android /system/vold源码分析(8)
- 编码问题:UnicodeEncodeError: 'gbk' codec can't encode character u'\xa0' in position 148:
- 第13周 项目4
- MySQL基础配置之mysql的默认字符编码的设置(my.ini设置字符编码)
- Cinder 组件详解 - 每天5分钟玩转 OpenStack(47)
- 朴素、Select、Poll和Epoll网络编程模型实现和分析——Poll、Epoll模型处理长连接性能比较
- 深度学习框架Caffe学习之依赖库
- Oracle dump 分析secondary key
- Android 基于google Zxing实现对手机中的二维码进行扫描
- css标签复习---2016.6.14
- Java语言的特点