第十一周项目 3 立体类族共有的抽象类
2015-06-17 08:59
204 查看
/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:main.cpp * 作 者 :韩娟 * 完成日期 :2015年6月17日 * 版 本 号 :v1.0 * * 问题描述 : 设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义CSolid *p;(p是指向基类的指针,且这个基类是个抽象类)。要求利用这个p指针,能够求出正方体、球体及圆柱体对象的表面积及体积。 * 输入描述 : 略 * 程序输出 :按要求输出 */ #include <iostream> using namespace std; class CSolid { public: virtual double surfacearea() =0; virtual double volume() =0; }; class CCube:public CSolid { private: double length; public: CCube(double len):length(len) {} double surfacearea() { double c; c=6*length*length; return c; } double volume() { double c; c=length*length*length; return c; } }; class CBall:public CSolid { private: double radius; public: CBall(double r):radius(r){} double surfacearea() { double c; c=4*3.14*radius*radius; return c; } double volume() { double c; c=3.14*radius*radius*radius*4/3; return c; } }; class CCylinder:public CSolid { private: double radius; double height; public: CCylinder(double r,double h):radius(r),height(h){} double surfacearea() { double c; c=2*3.14*radius*radius+2*3.14*radius*height; return c; } double volume() { double c; c=3.14*radius*radius*height; return c; } }; int main( ) { CSolid *p; double s,v; CCube x(30); cout<<"立方体边长为 30 "<<endl; p=&x; s=p->surfacearea( ); v=p->volume( ); cout<<"表面积:"<<s<<endl; cout<<"体积:"<<v<<endl; cout<<endl; CBall y(4.5); cout<<"球体半径为 4.5 "<<endl; p=&y; s=p->surfacearea( ); v=p->volume( ); cout<<"表面积:"<<s<<endl; cout<<"体积:"<<v<<endl; cout<<endl; CCylinder z(10,20); cout<<"圆柱体底面半径、高分别为 10, 20"<<endl; p=&z; s=p->surfacearea( ); v=p->volume( ); cout<<"表面积:"<<s<<endl; cout<<"体积:"<<v<<endl; cout<<endl; return 0; }
知识点总结 :
和原来的很像,但是加入了指针可以多种指向很方便。
学习心得 :
指针棒棒的。
相关文章推荐
- Ewebeditor最新漏洞和漏洞指数
- 冲刺第十七天
- vvvo--test
- 理解 .NET 2015
- 谷歌访问助手
- Linux命令
- 我的人生我自己决定
- Android 内存溢出解决方案(OOM) 整理总结
- 作战仿真 基于 osg 含有态势显示 客户端
- 什么是Cyclomatic Complexity(圈复杂度)?
- Windows 10 10136手机预览版发布 图赏
- SVN 错误中文对照
- Android解决内存溢出问题
- css3按钮特效
- android studio 启动报错
- 第十五周阅读项目2
- 201506170744_《JavaScript权威指南(第六版)——函数调用变长实参和可选形参、》(P171-175)
- 第15周项目1-用二进制文件处理学生成绩
- 二进制文件阅读器
- ASP.NET中gridview获取当前行的索引值