1 / 19
文档名称:

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

格式:ppt   大小:95KB   页数:19页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:j14y88 2019/12/23 文件大小:95 KB

下载得到文件列表

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

文档介绍

文档介绍:§ [例]请用C++语言构造一个模拟加油站油泵的对象工作   正常情况下,我们在任何时刻,应该知道每公斤汽油的价格和油泵所在的油桶中还有多少汽油。当一个加油的请求出现时,如果要求加油的数量少于(或等于)油桶中的汽油数量时,就满足这个加油请求。否则,只能抽出油桶所剩下的汽油给予加油。   每次抽出汽油加油后,应显出被抽出加油的汽油数量及价格;同时,还要计算出加油后汽油桶里剩余的汽油量。)问题分析   根据要求,我们可设计出如下形式的油泵对象模型:)关于操作的具体分析   油泵进入服务       初始化油桶中汽油的数量       初始化每公斤汽油的价格   显示操作(函数)       显示油桶中汽油的数量       (函数)   IF(油桶中汽油数量大于或等于需要被抽出的汽油数量)       将抽出数量设置成需要抽出的数量   ELSE将抽出数量设置成油桶中所剩汽油的数量   ENDIF   将油桶中汽油的数量减去被抽出汽油的数量   计算总金额(汽油单价乘以被抽出数量)   显示被抽出的汽油数量   显示油上剩下的汽油数量   )归纳以上分析可得到以下程序:#include<>#include<>constfloatAMTINT=;   //初始化油桶中的油量constfloatPRICE=;   //单价classPump{protected:   floatamtint,price; public:   Pump(float,float);   //构造函数   voidvalues();   voidrequest(float);};::Pump(floatstart,floattodays){amtint=start;price=todays;}voidPump::values(){cout<<"Thegastankhas:"<<amtint<<endl; cout<<"Thepriceperkgofgasis:"<<price<<endl;}voidPump::request(floatpumpamt){floatpumped; if(amtint>=pumpamt)pumped=pumpamt;   //满足 elsepumped=amtint; amtint=amtint-pumped;   //加油后剩余数 cout<<pumpamt<<"kgwererequested"<<endl; cout<<pumped<<"kgwerepumped"<<endl; cout<<amtint<<"kgremaininthetank"<<endl; cout<<"Thetotalpriceis:"<<(pumped*price)<<endl;}***()   //演示程序{Pumpobj(AMTINT,PRICE);   //创建一个油泵对象 ();   //显示当前状态 cout<<endl; ();   //要求加油 cout<<endl; ();   //两次要求加油}根据程序功能分析,应得到如下执行结果:Thegastankhas:: :,我们在任何时候,应该知道每公斤汽油的价格和油泵所在的油桶中还有多少汽油。当一个加油的请求出