第14周项目4-立体类族共有的抽象类
2014-05-28 16:07
357 查看
/* *Corpyright (c)2013,烟台大学计算机学院 *All right reseved. *作者:张凯 *完成日期:2014年5月28日 *版本号:v1.0 *输入描述: *问题描述: *程序输出: *问题分析: *算法设计: */ #include<iostream> #include<cstring> using namespace std; class CSolid { public: virtual double area()=0; virtual double volume()=0; }; class CCube:public CSolid { public: CCube(double a):length(a){} ~CCube(){} double area() { return 6*length*length; } double volume() { return length*length*length; } private: double length; }; class CBall:public CSolid { public: CBall(double r):rad(r){} ~CBall(){} double area() { return 4*3.14*rad*rad; } double volume() { return 4/3*3.14*rad*rad*rad; } private: double rad; }; class CCylinder:public CSolid { public: CCylinder(double r,double h):rad(r),heigth(h){} ~CCylinder(){} double area() { return (2*3.14*rad*rad+2*3.14*rad*heigth); } double volume() { return 3.14*rad*rad*heigth; } private: double rad; double heigth; }; int main() { //定义基类指针数组p,使它每一个元素指向一个派生类对象 CCube m1(4); CBall m2(3); CCylinder m3(2.6,6.4); CSolid *p[3]={&m1,&m2,&m3}; cout<<"正方体的面积:"<<p[0]->area()<<";"<<"体积:"<<p[0]->volume()<<endl; cout<<"球体的面积:"<<p[1]->area()<<";"<<"体积:"<<p[1]->volume()<<endl; cout<<"圆柱体的面积:"<<p[2]->area()<<";"<<"体积:"<<p[2]->volume()<<endl; return 0; }
相关文章推荐
- 2014-第14周项目三-立体类族共有的抽象类
- C++第14周项目3 -立体类族共有的抽象类
- 十二周——多态性——项目三 立体类族共有的抽象类
- 第十三周项目三--立体类族共有的抽象类
- 第十三周实践项目4-立体类族共有的抽象类
- 第十三周【项目4-立体类族共有的抽象类】
- 第13周项目4-立体类族共有的抽象类
- 第十三周 项目三--立体类族共有的抽象类
- 第13周项目4-立体类族共有的抽象类
- 第13周-项目4-立体类族共有的抽象类
- 第十三周上机实践——项目4-立体类族共有的抽象类
- 2015年大一下第12周项目3--立体类族共有的抽象类
- 第十三周 项目三 立体类族共有的抽象类
- 第十三周项目4 立体类族共有的抽象类
- 第十三周项目 4 立体类族共有的抽象类
- 第十三周项目三 立体类族共有的抽象类
- 第十三周项目3--立体类族共有的抽象类
- 第十三周项目57-立体类族共有的抽象类
- 第13周项目4--立体类族共有的抽象类
- 第十三周项目4-立体类族共有的抽象类