项目三(抽象类CSolid)
2013-06-03 20:02
197 查看
上机目的:CSolid抽象类。
运行结果:
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserved. * 作者: 黄兆宽 * 完成日期: 2013年 6 月 03 日 * 版本号: v1.0 * 输入描述:无 * 问题描述:虚基类shape。 * 程序输出:无 */ #include <iostream> #define pi 3.1415926 using namespace std; class CSolid { public: virtual double area()=0; virtual double cube()=0; }; class CCube:public CSolid { public: CCube(double l){length=l;}; double area(){return length*length*6;}; double cube(){return length*length*length;}; private: double length; }; class CBall:public CSolid { public: CBall(double r){radius=r;}; double area(){return 4*pi*radius*radius;}; double cube(){return 4/3*pi*radius*radius*radius;} private: double radius; }; class CCylinder:public CSolid { public: CCylinder(double r,double h){radius=r;high=h;}; double area(){return (radius*radius*pi*2+2*pi*radius*high);}; double cube(){return pi*radius*radius*high;} private: double radius; double high; }; int main(){ CSolid *p; CCube a(8); p=&a; cout<<"边长是8的正方体表面积是"<<p->area()<<endl; cout<<"边长是8的正方体体积是"<<p->cube()<<endl; CBall b(3); p=&b; cout<<"半径是3的球体表面积是"<<p->area()<<endl; cout<<"半径是3的球方体体积是"<<p->cube()<<endl; CCylinder c(2,5); p=&c; cout<<"底面半径是2,高是5的圆柱体表面积是"<<p->area()<<endl; cout<<"底面半径是2,高是5的圆柱体体积是"<<p->cube()<<endl; return 0; }
运行结果:
相关文章推荐
- 十四周项目三设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数(第一次做完老师发的试题,还有时间做OJ上面的题,贵在坚持)
- 第十四周项目三:抽象类CSolid
- 第十四周项目三——抽象类CSolid
- 第十四周 项目三:定义抽象类CSolid,含有表面积及体积的纯虚数,派生出CCube,CBall,CCylinder,分别表示正方体、球体及圆柱体
- 第十三周项目5:立体类族共有的抽象类
- 项目3抽象类与纯虚函数
- 设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义CSolid *p;(p
- C++走向远洋——59(项目三、图形面积、抽象类)
- 第十四周——项目3 立体类族共有的抽象类
- C/C++程序员必须熟练应用的开源项目(通用抽象类,不具象方向)
- 2015年大一下第12周项目3--立体类族共有的抽象类
- 第十三周项目3-立体类族共有的抽象类
- 第十三周项目3——【立体类族共有的抽象类】
- 第13周 项目三-立体族中共有的抽象类
- 第十一周项目 3 立体类族共有的抽象类
- 第十三周项目4立体类族共有的抽象类
- 第13周项目4:立体类族共有的抽象类
- 第十三周 项目一 (3)Animal 抽象类加入名字。
- 第十三周项目三 立体类族共有的抽象类
- 第13周项目3-立体类族共有的抽象类