下载此文档

5.5 类与对象应用的例子.ppt


文档分类:IT计算机 | 页数:约19页 举报非法文档有奖
1/19
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/19 下载此文档
文档列表 文档介绍
§  类与对象应用的例子
1. 使用类和对象构造程序的实例
[例]请用C++语言构造一个模拟加油站油泵的对象工作
    正常情况下,我们在任何时刻,应该知道每公斤汽油的价格和油泵所在的油桶中还有多少汽油。当一个加油的请求出现时,如果要求加油的数量少于(或等于)油桶中的汽油数量时,就满足这个加油请求。否则,只能抽出油桶所剩下的汽油给予加油。
    每次抽出汽油加油后,应显出被抽出加油的汽油数量及价格;同时,还要计算出加油后汽油桶里剩余的汽油量。
1)问题分析
    根据要求,我们可设计出如下形式的油泵对象模型:
2)关于操作的具体分析
    油泵进入服务
        初始化油桶中汽油的数量
        初始化每公斤汽油的价格
    显示操作(函数)
        显示油桶中汽油的数量
        显示每公斤汽油的价格
抽出汽油进行加油的操作(函数)
    IF (油桶中汽油数量大于或等于需要被抽出的汽油数量)
        将抽出数量设置成需要抽出的数量
    ELSE 将抽出数量设置成油桶中所剩汽油的数量
    ENDIF
    将油桶中汽油的数量减去被抽出汽油的数量
    计算总金额(汽油单价乘以被抽出数量)
    显示被抽出的汽油数量
    显示油上剩下的汽油数量
    显示应付金额
3)归纳以上分析可得到以下程序:
#include<>
#include<>
const float AMTINT=;    //初始化油桶中的油量
const float PRICE=;    //单价
class Pump
{ protected:
    float amtint, price;
  public:
    Pump(float, float);    //构造函数
    void values( );
    void request( float);
};
Pump::Pump(float start, float todays)
{ amtint=start; price=todays; }
void Pump::values( )
{ cout<<"The gas tank has: "<<amtint<<endl;
  cout<<"The price per kg of gas is: "<<price<<endl;
}
void Pump::request( float pumpamt)
{ float pumped;
  if( amtint>=pumpamt ) pumped=pumpamt;    //满足
  else pumped= amtint;
  amtint=amtint-pumped;    //加油后剩余数
  cout<<pumpamt<<" kg were requested"<<endl;
  cout<<pumped<<" kg were pumped"<<endl;
  cout<<amtint<<" kg remain in the tank"<<endl;
  cout<<"The total price is: "<<(pumped*price)<<endl;
}
void main( )    //演示程序
{ Pump obj(AMTINT, PRICE);    //创建一个油泵对象
  ( );    //显示当前状态
  cout<<endl;
  ();    //要求加油
  cout<<endl;
  ();    //两次要求加油
}
根据程序功能分析,应得到如下执行结果:
The gas tank has:
The price per kg of gas is:

kg were requested
kg were pumped
kg remain in the tank
The total price is:

正常情况下,我们在任何时候,应该知道每公斤汽油的价格和油泵所在的油桶中还有多少汽油。当一个加油的请求出现时,如果要求加油的数量少于(或等于)油泵中的汽油数量时,就满足这个加油请求。否则,只能抽出油桶所剩下的汽油给加油。
每次抽出汽油加油后,应显出被抽出加油的汽油数量及价格;同时,还要计算出汽油桶里剩余的汽油量。
关于操作的具体分析如下:
油泵进入服务
初始化油桶中的汽油数量
初始化每公斤汽油的价格
显示操作(函数)
显示油桶中汽油的数

5.5 类与对象应用的例子 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数19
  • 收藏数0 收藏
  • 顶次数0
  • 上传人szh187166
  • 文件大小0 KB
  • 时间2015-11-03