首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码。 [说明] 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。 采用状态(State)模式来实现该纸巾售卖机,得到如图5-2所示的类图。其中类
阅读下列说明和C++代码。 [说明] 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。 采用状态(State)模式来实现该纸巾售卖机,得到如图5-2所示的类图。其中类
admin
2012-03-21
61
问题
阅读下列说明和C++代码。
[说明]
某大型商场内安装了多个简易的纸巾售卖机,自动出售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()j
State* getSoldState();
State* getSoldOutState();
int getCount()j
//其余代码省略
};
//以下为类的实现部分
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) );
}
} //其余代码省略
(4)
选项
答案
tissueMachine->getNoQuarterState()
解析
转载请注明原文地址:https://kaotiyun.com/show/GeDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
统一过程(UP)是一种用例驱动的迭代式增量开发过程,每次迭代过程中主要的工作流包括捕获需求、分析、设计、实现和测试等。这种软件过程的用例图(Use Case Diagram)是通过(19)得到的。
在软件项目开发过程中,评估软件项目风险时,(18)与风险无关。
函数t()、f()的定义如下所示。若调用函数t()时传递给x的值为3,并且调用函数f()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,则函数t0的返回值为(33).
某软件系统无需在线容错,也不能采用冗余设计,如果对可靠性要求较高,故障有可能导致严重后果,一般采用()。
下图是①设计模式的类图,该设计模式的目的是②,图中,Abstraction和RefinedAbstraction之间是③关系,Abstraction和Implementor之间是④关系。②处应填入?
软件内部/外部质量模型中,(33)不是可移植性包括的子特性。
黑盒测试法是根据产品的______来设计测试用例的。A.功能B.输入数据C.应用范围D.内部逻辑
关于软件测试过程中的配置管理,______是不正确的表述。A.测试活动的配置管理属于整个软件项目配置管理的一部分B.软件测试配置管理包括4个基本的活动:配置项变更控制、配置状态报告、配置审计、配置管理委员会建立C.配置项变更控制要规定测试基线,对每个
下图是________________设计模式的类图,该设计模式的目的是________________,图中,Decorator和Component之间是________________关系,ConcreteDecorator和Decorator之间是_
在软件评审中,设计质量是指设计的规格说明书符合用户的要求。设计质量的评审内容不包括______。
随机试题
PowerPoint2010是微软公司设计的________软件。
中国特色社会主义事业总体布局是()
ThisStudents’UnionisgoingtoholdanEnglishspeechcontest.YouareappointedtowriteANoticetoinformthisnewsonbeha
我国国家基本药物调整的周期一般为
A.Ⅰ型变态反应B.Ⅱ型变态反应C.Ⅲ型变态反应D.Ⅳ型变态反应E.非变态反应系统性红斑狼疮属于
在漫长的社会经济活动中,土地在不断的改良活动中凝结了大量的人类活动结果。因此,在有人类活动的地区,土地实际上是自然和人类劳动相结合的产物。()
关于招标代理机构的说法,正确的有()。
()是一种重要的利率风险,它是指在利息收入和利息支出所依据的基准利率变动不一致的情况下,虽然资产、负债和表外业务重新定价特征相似,但现金流和收益的利差发生了变化,也会对银行的收益或内在经济价值产生不利影响。
某电器工作功耗为370瓦,待机状态下功耗为37瓦。该电器周一从9:30到17:00处于工作状态,其余时间断电。周二从9:00到24:00处于待机状态,其余时间断电。问其周一的耗电量是周二的多少倍?
Usingtheinformationinthetext,completeeachsentence14-18withanexpressionfromthelistbelow.Foreachsentence(14
最新回复
(
0
)