第13周实践项目4立体类族共有的抽象类
来源:互联网 发布:摩托车违章查询软件 编辑:程序博客网 时间:2024/09/21 09:27
问题及代码:
/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:main.cpp *作 者:郝昱猛 *完成日期:2016年6月9日 *版 本 号:v1.0 * *问题描述 : 设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义CSolid *p;(p是指向基类的指针,且这个基类是个抽象类)。要求利用这个p指针,能够求出正方体、球体及圆柱体对象的表面积及体积。 *输入描述: *程序输出: */#include<iostream>using namespace std;class Csolid{public: virtual double area(){} virtual double Volume(){}};class Ccube:public Csolid{protected: double radius;public: Ccube(double r):radius(r){} double area() { return 6.0*radius*radius; } double Volume() { return radius*radius*radius; }};class Cball:public Csolid{protected: double radius;public: Cball (double r):radius(r){} double area() { return 4.0*3.1415926*radius*radius; } double Volume() { return 4.0*3.1415926*radius*radius/3.0; }};class CCylinder:public Csolid{protected: double radius; double height;public: CCylinder(double r,double h):radius(r),height(h){} double area() { return (2.0*3.1415926*radius*radius+2.0*3.1415926*radius*height); } double Volume() { return 3.1415926*radius*radius*height; }};int main(){ Csolid *p; Ccube cb(2.0); Cball bl(2.0); CCylinder cl(2.0,1.0); p=&cb; cout<<"正方体的表面积:"<<p->area()<<endl; cout<<"正方体的体积:"<<p->Volume()<<endl; cout<<endl; p=&bl; cout<<"球体的表面积:"<<p->area()<<endl; cout<<"球体的体积:"<<p->Volume()<<endl; cout<<endl; p=&cl; cout<<"圆柱体的表面积:"<<p->area()<<endl; cout<<"圆柱体的体积:"<<p->Volume()<<endl; cout<<endl; return 0;}
运行结果:
0 0
- 第13周实践项目4立体类族共有的抽象类
- 第13周实践项目4立体类族共有的抽象类
- 第13周上机实践项目3——立体类族共有的抽象类
- 第13周实践项目-立体族类共有的抽象类
- C++第13周项目 多态性 【项目4-立体类族共有的抽象类】
- 第13周-项目4-立体类族共有的抽象类
- 第13周项目4-立体类族共有的抽象类
- 第13周项目4-立体类族共有的抽象类
- 第13周项目4:立体类族共有的抽象类
- 第13周项目4—立体类族共有的抽象类
- 第13周项目4--立体类族共有的抽象类
- 第13周项目4-立体类族共有的抽象类
- 第十三周实践项目4————立体类族共有的抽象类
- 第十三周实践项目4-立体类族共有的抽象类
- 第十三周上机实践——项目4-立体类族共有的抽象类
- 第十三周上机实践项目4:立体类族共有的抽象类
- 第13周项目3立体类族共有的抽象类
- 第13周-多态性-项目3-立体类族共有的抽象类
- c++实践参考:深复制
- 9.2我的数组类
- 第十一周练习,日期时间
- 不可变序列算法示例
- JAVA反色计算方法的改进和修正
- 第13周实践项目4立体类族共有的抽象类
- 第十五周--程序填空
- GDB 调试 Nginx 磨刀不误砍柴工
- 13周 项目二--动物这样叫(1)
- 阅读程序(9)
- 第15周-项目2-洗牌
- 第十三周上机实践项目1(2):分数类中的运算符重载
- 第八周项目三用对象数组操作长方柱类
- IMF Vmvare 中linux 根分区磁盘扩容 gparted 增加虚拟机磁盘空间