第13周项目3-立体类族共有的抽象类
2015-06-03 09:20
274 查看
#include <iostream> #include <cmath> using namespace std; class CSolid { public: virtual double area()=0; virtual double volume()=0; }; class CCube:public CSolid { private: double a; public: CCube(double l):a(l){}; double area(){return 6*a*a;}; double volume(){return a*a*a;}; }; class CBall:public CSolid { private: double r; public: CBall(double a):r(a){}; double area(){return 4*3.14*r*r;}; double volume(){return 4/3*3.14*r*r*r;}; }; class CCylinder:public CSolid { private: double r,h; public: CCylinder(double a,double b):r(a),h(b){}; double area(){return 6.28*r*r+6.28*r*h;}; double volume(){return 3.14*r*r*h;}; }; int main() { double s,v; CCube c1(1); CBall c2(2); CCylinder c3(2,3); CSolid *p; p=&c1; s=p->area(); v=p->volume(); cout<<"面积为:"<<s<<" 体积为:"<<v<<endl; p=&c2; s=p->area(); v=p->volume(); cout<<"面积为:"<<s<<" 体积为:"<<v<<endl; p=&c3; s=p->area(); v=p->volume(); cout<<"面积为:"<<s<<" 体积为:"<<v<<endl; return 0; }
相关文章推荐
- 【Android笔记】Activity的四种启动模式
- 调用WCF的异步方法
- 陈怡暖:2015.6.3早间现货黄金白银操作建议
- juniper-ssg140开放端口策略
- 记一次云计算测试实验-openstack-icehouse-安装glance
- cocos2d-x打包2.X安卓流程(不使用CWY)
- sql查看数据字典(表结构)
- inodes满了
- linux命令:使用dig解析域名
- 第十二周项目二形状类族的中的纯虚函数
- 第十三周项目2——形状类族中的纯虚函数
- 地13周 项目1 动物这样叫
- 第13周 项目2 形状类族的中的纯虚函数
- HDU 母牛的故事
- endl与\n的区别
- 对于分割窗口的视图无法响应鼠标滚轮的解决方法
- C++之我是二代我继承——圆与线
- samba文件无法复制到电脑本地的问题
- 修改UINavigationController的UINavigationItem的颜色
- 记一次云计算测试实验-openstack-icehouse-安装keystone