第13周实践项目4立体类族共有的抽象类
来源:互联网 发布:手提包女士知乎 编辑:程序博客网 时间:2024/05/17 22:57
/**Copyright (c) 2016,烟台大学计算机学院*All rights reserved.*文件名称 :*作 者 : 刘云*完成日期 : 2016年5月26号*版 本 号 : v6.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-立体类族共有的抽象类
- 第十二周【项目2-Time类中的运算符重载】
- http in iOS
- 关于开始
- 试试
- IO负载高的来源定位
- 第13周实践项目4立体类族共有的抽象类
- 第十三周项目1-分数类中的运算符重载——2
- 324. Wiggle Sort II
- jquery选择器案例
- Ubuntu下Xilinx Linux内核编译问题,出现“缺少ncurses”libraries
- C# 序列化与反序列化
- 巧用location.hash保存页面状态
- 【Halcon】Halcon颜色识别之classify_fuses_gmm_based_lut.hdev
- css-去除默认样式