第十四周项目3-立体类族共有的抽象类
2014-05-26 22:30
302 查看
/* *程序的版权和版本声明部分: *Copyright(c)2014,烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:田成琳 *完成日期:2014 年 5 月 26 日 *版本号:v1.0 *对任务及求解方法的描述部分: *问题描述:设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。 设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。 在main()函数中,定义CSolid *p;(p是指向基类的指针,且这个基类是个抽象类)。 要求利用这个p指针,能够求出正方体、球体及圆柱体对象的表面积及体积。 *输入描述:无。 *程序输出:正方体,球体,圆柱体面积及体积 *问题分析: *算法设计: */ #include <iostream> using namespace std; const double pi=3.1415926; class CSolib { public: virtual double area()=0; virtual double volume()=0; }; class CCube:public CSolib { public: CCube(double bc):bianchang(bc){} virtual double area(); virtual double volume(); private: double bianchang; }; class CBall:public CSolib { public: CBall(double R):r(R){} virtual double area(); virtual double volume(); private: double r; }; class CCylinde:public CSolib { public: CCylinde(double R,double H):r(R),h(H){} virtual double area(); virtual double volume(); private: double r,h; }; double CCube::area() { return 6*bianchang*bianchang; } double CCube::volume() { return bianchang*bianchang*bianchang; } double CBall::area() { return 4*pi*r*r; } double CBall::volume() { return 4/3*pi*r*r*r; } double CCylinde::area() { return 2*pi*r*r+2*pi*r*h; } double CCylinde::volume() { return pi*r*r*h; } int main() { CSolib *pt; CCube ccube(5); CBall cball(3.5); CCylinde ccylinde(3.5,5); pt=&ccube; cout<<"正方体面积:"<<pt->area()<<endl; cout<<"正方体体积:"<<pt->volume()<<endl; pt=&cball; cout<<"球体面积:"<<pt->area()<<endl; cout<<"球体体积:"<<pt->volume()<<endl; pt=&ccylinde; cout<<"圆柱体面积:"<<pt->area()<<endl; cout<<"圆柱体体积:"<<pt->volume()<<endl; return 0; }
运行结果:
心得体会:。
相关文章推荐
- 第十四周项目3-立体类族共有的抽象类
- 第十四周——项目3 立体类族共有的抽象类
- 第十四周 【项目3-立体类族共有的抽象类】
- 第十四周 项目3-立体类族共有的抽象类
- 第十四周上机实践项目——立体类族共有的抽象类
- 第十三周 项目3-立体类族共有的抽象类
- 第十三周项目三——立体类族共有的抽象类
- 第13周上机实践项目3——立体类族共有的抽象类
- 项目3-立体类族共有的抽象类
- 第十四周项目四立体类族共有的抽象类
- 第13周项目3-立体类族共有的抽象类
- 15第十三周项目三——立体类族共有的抽象类
- 第十三周 项目3-立体类族共有的抽象类
- 第十三周项目二——立体类族共有的抽象类
- 第13周项目3—立体类族共有的抽象类
- 第十三周项目3-立体类族共有的抽象类
- 第十三周项目三:立体类族共有的抽象类
- 项目三(oj)。立体类族共有的抽象类
- 第12周-项目3-立体类族共有的抽象类
- 第13周-多态性-项目3-立体类族共有的抽象类