第十三周项目六 立体类族共有的抽象类
来源:互联网 发布:php采购系统源代码 编辑:程序博客网 时间:2024/06/06 00:45
/*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:舒文超 * 完成日期:2016年5月22日 * 版本号:vc++6.0 * 问题描述:设计一个抽象类CSolid,含有用于求表面积 及体积的两个纯虚函数。设计派生类CCube、 CBall、CCylinder,分别表示正方体、球体 及圆柱体。在main()函数中,定义CSolid *p; (p是指向基类的指针,且这个基类是个抽象类)。 要求利用这个p指针,能够求出正方体、球体及圆 柱体对象的表面积及体积。 */#include<iostream>#define Pi 3.1415926using namespace std;class CSolid{public: virtual double get_area() const=0; virtual double get_volum() const=0;};class CCube:public CSolid{private: double height; double weight; double longth;public: CCube(double h,double w,double l):height(h),weight(w),longth(l){} virtual double get_area() const { return 2*(height*weight+longth*height+longth*weight); } virtual double get_volum() const { return height*weight*longth; }};class CBall:public CSolid{private: double R;public: CBall(double r):R(r){} virtual double get_area() const { return 4*Pi*R*R; } virtual double get_volum() const { return (4/3.0)*Pi*R*R*R; }};class CCylinder:public CSolid{private: double R; double height;public: CCylinder(double r,double h):R(r),height(h){} virtual double get_area() const { return Pi*R*R*2.0+(2.0*Pi*R*height); } virtual double get_volum() const { return Pi*R*R*height; }};int main(){ double a,b,c; double s,v; cout<<"请输入长方体的长宽高"<<endl; cout<<"longth:"; cin>>a; cout<<"weight:"; cin>>b; cout<<"height:"; cin>>c; CCube C1(c,b,a); cout<<"请输入球体的半径"<<endl; cout<<"R:"; cin>>a; CBall C2(a); cout<<"请输入圆柱的底面半径和高"<<endl; cout<<"R:"; cin>>a; cout<<"height:"; cin>>b; CCylinder C3(a,b); CSolid *p[3]= {&C1,&C2,&C1}; //定义基类指针数组p,使它每一个元素指向一个派生类对象 for(int i=0; i<6; i++) { s=p[i]->get_area(); v=p[i]->get_volum(); cout<<"表面积为:"<<s<<endl; cout<<"体积为:"<<v<<endl; } return 0;}
0 0
- 第十三周项目:立体类族共有的抽象类
- 第十三周项目六 立体类族共有的抽象类
- 第十三周项目-4-立体族类共有的抽象类
- 第十三周(立体类族共有的抽象类)
- 第十三周--立体类族共有的抽象类
- 第十三周 项目3-立体类族共有的抽象类
- 第十三周 项目三:立体类族共有的抽象类
- 第十三周 项目3-立体类族共有的抽象类
- 第十三周项目三:立体类族共有的抽象类
- 第十三周项目3-立体类族共有的抽象类
- 第十三周项目三 立体类族共有的抽象类
- 第十三周项目二——立体类族共有的抽象类
- 第十三周项目三——立体类族共有的抽象类
- 第十三周项目三 立体类族共有的抽象类
- 第十三周【项目3-立体类族共有的抽象类】
- 第十三周项目3-立体类族共有的抽象类
- 第十三周项目三立体类族共有的抽象类
- 第十三周项目3——【立体类族共有的抽象类】
- hadoop hdfs环境搭建
- 2016-5-23
- MCS(调制与编码策略)对应是Qm和TBS index,那么是由什么公司计算出来的?还是由TBS决定的?(MCS为0-31的表)
- webmagic采集CSDN的Java_WebDevelop页面
- CentOS 系统下编译安装 gcc4.8.2过程及编译问题详解
- 第十三周项目六 立体类族共有的抽象类
- 接入支付宝即时到账接口-java
- http状态码及含义
- 二进制传输 文本传输
- 批处理常用符号详解
- js 怎样缓存数据【整理】
- 悦读FM客户端应用源码
- mongoDB常用命令
- 详解TTL和CMOS电平