2014-第14周项目三-立体类族共有的抽象类
2014-05-27 15:03
253 查看
/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称:.cpp * 作 者:刘晓晓 * 完成日期:2013 年5月27日 * 版本号: v1.0 * 对任务及求解方法的描述部分:略 * 输入描述:略 * 问题描述:略 */ #include <iostream> #include<iomanip> using namespace std; const double PI =3.1415926; class CSolid { public: virtual double area() const=0;//纯虚函数 virtual double volume() const=0; }; class CCube:public CSolid { public: CCube(double l):length(l) {} //结构函数 virtual double area() const { return (length*length*6); }; //定义虚函数 virtual double volume() const { return (length*length*length); } protected: double length; }; class CBall:public CSolid { public: CBall(double r):radious(r) {} virtual double area() const { return (4*PI*radious*radious); } virtual double volume()const { return (4/3)*PI*radious*radious*radious; } protected: double radious; }; class CCylinder:public CSolid { public: CCylinder(double r,double h ):radious(r),height(h) {} virtual double area() const { return PI*radious*radious*2+(2*PI*radious)*height; } double volume()const { return(PI*radious*radious*height); } protected: double radious,height; }; int main() { CSolid *p; CCube c1(2.0); p=&c1; cout<<"正方体的表面积为"<<p->area()<<endl; cout<<"正方体的体积为"<<p->volume()<<endl; CBall c2(3.0); p=&c2; cout<<"球体的表面积为"<<p->area()<<endl; cout<<"球体的体积为"<<p->volume()<<endl; CCylinder c3(4.0,5.0); p=&c3; cout<<"圆柱体的表面积为"<<p->area()<<endl; cout<<"圆柱体的体积为"<<p->volume()<<endl; return 0; }
相关文章推荐
- C++第14周项目3 -立体类族共有的抽象类
- 第14周项目4-立体类族共有的抽象类
- 第十三周项目3--立体类族共有的抽象类
- 第十三周项目 4 立体类族共有的抽象类
- 第13周项目4-立体类族共有的抽象类
- 第13周项目4-立体类族共有的抽象类
- 十二周——多态性——项目三 立体类族共有的抽象类
- 第十三周项目4 立体类族共有的抽象类
- 第13周-项目4-立体类族共有的抽象类
- 第十三周实践项目4-立体类族共有的抽象类
- 第十三周项目四-立体类族共有的抽象类
- 项目三-立体类族共有的抽象类
- 第十三周项目57-立体类族共有的抽象类
- 第十三周项目三--立体类族共有的抽象类
- 第13周项目4-立体类族共有的抽象类
- 第十三周项目三 立体类族共有的抽象类
- 第十三周 项目三 立体类族共有的抽象类
- 第十三周项目3——【立体类族共有的抽象类】
- C++第13周项目 多态性 【项目4-立体类族共有的抽象类】
- 第十三周项目4-立体类族共有的抽象类