专业软件设计师网站|培训机构|服务商(加客服微信:cnitpm或QQ:800184589进软件设计师学霸群)

软题库 培训课程
当前位置:信管网 >> 软件设计师 >> 每日一练 >> 文章内容
软件设计师案例分析每日一练试题(2021/10/19)
来源:信管网 2021年10月20日 【所有评论 分享到微信

软件设计师案例分析当天每日一练试题地址:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4

往期软件设计师每日一练试题汇总:www.cnitpm.com/class/27/e4_1.html

软件设计师案例分析每日一练试题(2021/10/19)在线测试:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2021/10/19

点击查看:更多软件设计师习题与指导

软件设计师案例分析每日一练试题内容(2021/10/19)

阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。

采用状态(State)模式来实现该纸巾售卖机,得到如图5-2所示的类图。其中类State为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState和HasQuarterState分别对应图5-1中纸巾售卖机的4种状态:售出纸巾、纸巾售完、没有投币、有2元钱。

【C++代码】
#include <iostream>
using namespace std;
// 以下为类的定义部分
class TissueMachine;   // 类的提前引用
class State {
public:
   virtual void insertQuarter() = 0;  //投币
   virtual void ejectQuarter() = 0;    //退币
   virtual void turnCrank()= 0;   //按下“出纸巾”按钮
   virtual void dispense() = 0;    //出纸巾
};
/* 类SoldOutState、NoQuarterState、HasQuarterState、SoldState的定义省略,每个类中均
定义了私有数据成员TissueMachine* tissueMachine; */
class TissueMachine {
private:
     (1)   *soldOutState, *noQuarterState, *hasQuarterState,*soldState, *state ;
   int count; //纸巾数
public:
  TissueMachine(int numbers);
  void setState(State* state);
  State* getHasQuarterState();
  State* getNoQuarterState();
  State* getSoldState();
  State* getSoldOutState();
  int getCount();
  // 其余代码省略
};
// 以下为类的实现部分
void NoQuarterState ::insertQuarter() {
    tissueMachine->setState(  (2)  );
}
void HasQuarterState ::ejectQuarter() {
    tissueMachine->setState(  (3)  );
}
void SoldState ::dispense() {
    if(tissueMachine->getCount() > 0) {
  tissueMachine->setState(  (4)  );
    }
    else {
  tissueMachine->setState(  (5)  );
    }
}  // 其余代码省略
信管网试题答案与解析:www.cnitpm.com/st/3811321878.html

信管网考友试题答案分享:

信管网cnitpm442723562920:
1、class <br>2、getnoquarterstate() <br>3、gethasquarterstate() <br>4、getsoldstate() <br>5、getsoldoutstate()

信管网试题答案与解析:www.cnitpm.com/st/3811321878.html
扫码关注公众号

温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!

信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。

信管网软考课程由信管网依托10年专业软考教研倾力打造,官方教材参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。

相关内容

发表评论  查看完整评论  

推荐文章