第十三周 项目3-立体类族共有的抽象类
2015-06-03 09:02
387 查看
问题及代码:
运行结果:
知识点总结:
找到技巧还是挺简单的,注意把各个类之间的关系抽象提取出来
/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:宋健 * 完成日期:2015年 6月 3日 * 版 本 号:v1.0 * * 问题描述:设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义CSolid *p;(p是指向基类的指针,且这个基类是个抽象类)。要求利用这个p指针,能够求出正方体、球体及圆柱体对象的表面积及体积。 * 程序输入: * 程序输出: */ #include <iostream> const double pi=3.14; using namespace std; class CSolid { public: virtual double area()=0; virtual double volume()=0; }; class CCube:public CSolid { private: double x; public: CCube(double x1):x(x1){} double area(); double volume(); }; double CCube::area() { return 6*x*x; } double CCube::volume() { return x*x*x; } class CBall:public CSolid { private: double r; public: double area(); double volume(); CBall(double r1):r(r1){} }; double CBall::area() { return 4*pi*r*r; } double CBall::volume() { return 4*pi*r*r*r/3; } class CCylinder:public CSolid { private: double r; double h; public: CCylinder(double r1,double h1):r(r1),h(h1){} double area(); double volume(); }; double CCylinder::area() { return 2*pi*r*h+2*pi*r*r; } double CCylinder::volume() { return pi*r*r*h; } int main( ) { CSolid *p; double s,v; CCube x(30); cout<<"立方体边长为 30 "<<endl; p=&x; s=p->area( ); v=p->volume( ); cout<<"表面积:"<<s<<endl; cout<<"体积:"<<v<<endl; cout<<endl; CBall y(4.5); cout<<"球体半径为 4.5 "<<endl; p=&y; s=p->area( ); v=p->volume( ); cout<<"表面积:"<<s<<endl; cout<<"体积:"<<v<<endl; cout<<endl; CCylinder z(10,20); cout<<"圆柱体底面半径、高分别为 10, 20"<<endl; p=&z; s=p->area( ); v=p->volume( ); cout<<"表面积:"<<s<<endl; cout<<"体积:"<<v<<endl; cout<<endl; return 0; }
运行结果:
知识点总结:
找到技巧还是挺简单的,注意把各个类之间的关系抽象提取出来
相关文章推荐
- HDU 不容易系列之(4)——考新郎
- TextView识别超链接,点击可以打开浏览器进行跳转
- ASP.NET 生成二维码(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
- 如何建立高效的测试团队
- 再造 “手机QQ” 侧滑菜单(三)——视图联动
- 第13周项目2-形状类族的中的纯虚函数
- web服务器最大连接数
- Hive聚合函数及采样函数详解
- javax.xml.ws.Holder的使用方式
- 数据清洗小记:判断是否为数字函数
- Excel VLOOKUP函数的使用方法
- Html5 读取csv文件(包含其他文件)
- 2015年第十三周项目二:形状类族的中的纯虚函数
- 第13周项目1-动物这样叫(2)
- PJSIP Intro - CSipSimple Compile on ubuntu
- 第十三周项目2——形状类族的中的纯虚函数
- 教师兼干部类
- 答辩篇之PPT
- 用c#开发微信 (11) 微统计 - 阅读分享统计系统 1 基础架构搭建
- poj 2411((多米诺骨牌问题))