第十四周 【项目3-立体类族共有的抽象类】
2014-05-27 09:12
369 查看
#include<iostream> using namespace std; class CSolid { public: virtual double area() const =0; virtual double vv() const =0; }; class CCube:public CSolid { private: double r; public: CCube(double rr):r(rr){}; virtual double area() const { return r*r*6; } virtual double vv() const { return r*r*r; } }; class CBall:public CSolid { private: double r; public: CBall(double rr1):r(rr1){}; virtual double area() const { return 4*3.14*r*r; } virtual double vv() const { return (4/3)*r*r*r*3.14; } }; class CCylinder:public CSolid { private: double r; double h; public: CCylinder(double rr,double hh):r(rr),h(hh){}; virtual double area() const { return 3.14*r*r*2+2*3.14*r*h; } virtual double vv() const { return 3.14*r*r*h; } }; int main() { CSolid *p; double s,v; CCube x(3); cout<<"立方体边长为 3 "<<endl; p=&x; s=p->area( ); v=p->vv( ); cout<<"表面积:"<<s<<endl; cout<<"体积:"<<v<<endl; cout<<endl; CBall y(4.5); cout<<"球体半径为 4.5 "<<endl; p=&y; s=p->area( ); v=p->vv( ); cout<<"表面积:"<<s<<endl; cout<<"体积:"<<v<<endl; cout<<endl; CCylinder z(1,2); cout<<"圆柱体底面半径、高分别为 1, 2"<<endl; p=&z; s=p->area( ); v=p->vv( ); cout<<"表面积:"<<s<<endl; cout<<"体积:"<<v<<endl; cout<<endl; return 0; }
运行结果
相关文章推荐
- 第十四周项目3-立体类族共有的抽象类
- 第十四周——项目3 立体类族共有的抽象类
- 第十四周项目3-立体类族共有的抽象类
- 第十四周 项目3-立体类族共有的抽象类
- 第十四周上机实践项目——立体类族共有的抽象类
- 第十三周 项目3-立体类族共有的抽象类
- 第十三周项目三——立体类族共有的抽象类
- 第13周上机实践项目3——立体类族共有的抽象类
- 项目3-立体类族共有的抽象类
- 第十四周项目四立体类族共有的抽象类
- 第13周项目3-立体类族共有的抽象类
- 15第十三周项目三——立体类族共有的抽象类
- 第十三周 项目3-立体类族共有的抽象类
- 第十三周项目二——立体类族共有的抽象类
- 第13周项目3—立体类族共有的抽象类
- 第十三周项目3-立体类族共有的抽象类
- 第十三周项目三:立体类族共有的抽象类
- 项目三(oj)。立体类族共有的抽象类
- 第12周-项目3-立体类族共有的抽象类
- 第13周-多态性-项目3-立体类族共有的抽象类