项目四。立体类族共有的抽象类
来源:互联网 发布:求电话销售一手数据 编辑:程序博客网 时间:2024/05/14 20:00
程序:
//【项目3-立体类族共有的抽象类】设计一个抽象类CSolid,含有用于求表面积及体积的//两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。//在main()函数中,定义CSolid *p;(p是指向基类的指针,且这个基类是个抽象类)。//要求利用这个p指针,能够求出正方体、球体及圆柱体对象的表面积及体积。#include <iostream>#define pi 3.14using namespace std;class CSolid{public: virtual double area()= 0;//抽象类 virtual double volume()= 0;};class CBall:public CSolid//球体{private: double radius;public: CBall(double r):radius(r){cout<<"半径为"<<radius<<endl;} double area() { return 4*pi*radius*radius; } double volume() { return 4*pi*radius*radius*radius/3; }};class CCube:public CSolid//正方体{private: double length;public: CCube(double l):length(l){cout<<"边长为"<<length<<endl;} double area() { return length*length*6; } double volume() { return length*length*length; }};class CCylinder:public CSolid//圆柱体{private: double radius,hight;public: CCylinder(double r,double h):radius(r),hight(h) { cout<<"底面半径为"<<radius<<",高为"<<hight<<endl; } double area() { return 2*pi*radius*hight+4*pi*radius; } double volume() { return pi*radius*radius*hight; }};int main(){ CSolid *p; cout<<"正方体:"; CCube cc(4.5); p=&cc; cout<<"面积是"<<p->area()<<" 体积是"<<p->volume()<<endl; cout<<"球体:"; CBall cb(3.2); p=&cb; cout<<"面积是"<<p->area()<<" 体积是"<<p->volume()<<endl; cout<<"圆柱体:"; CCylinder cy(4.5,5); p=&cy; cout<<"面积是"<<p->area()<<" 体积是"<<p->volume()<<endl; return 0;}
结果:
0 0
- 项目四。立体类族共有的抽象类
- 第十四周项目四立体类族共有的抽象类
- 第十三周项目四-立体类族共有的抽象类
- C++走向远洋——60(项目四、立体类族共有的抽象类)
- 第十一周项目四立体类族共有的抽象类
- 第十三周项目四-立体类族共有的抽象类
- 第十三周项目四立体类族共有的抽象类
- 项目3-立体类族共有的抽象类
- 项目三-立体类族共有的抽象类
- 项目40--立体类族共有的抽象类
- 第十三周项目:立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- Spring3 Mybatis 异常处理
- 集体拍照姿势,不要再傻傻得站一排了!
- silverlight Canvas、StackPanel、Grid三者之间的关系
- php+mysql实现全文检索
- SQL SERVER DBCC命令解释
- 项目四。立体类族共有的抽象类
- Nonogram 生成器
- 关于easyndk的说明
- oracle剔除某个用户下的对象
- UVa 10889 - The Lost Gift
- MVC设计模式实现登陆程序
- 考研英语写作素材:常用特色词汇
- 乐视手机预计第四季度上市:挖角联想魅族高管
- 27位专家谈谷歌DART:"时尚"的Web编程语言