首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码。 [说明] 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。 采用状态(State)模式来实现该纸巾售卖机,得到如图5-2所示的类图。其中类
阅读下列说明和C++代码。 [说明] 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。 采用状态(State)模式来实现该纸巾售卖机,得到如图5-2所示的类图。其中类
admin
2012-03-21
80
问题
阅读下列说明和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) );
}
} //其余代码省略
(3)
选项
答案
tissueMachine->getNoQuarterState()
解析
转载请注明原文地址:https://kaotiyun.com/show/FeDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
假设系统采用PV操作实现进程同步与互斥。若n个进程共享两台打印机,那么信号量S的取值范围为()。
分配给某公司网络的地址块是220.17.192.0/20,该网络被划分为(1)个C类子网,不属于该公司网络的子网地址是(2)。(2)
(38)属于概要设计说明书的评测内容。①分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成分是否可追溯到某一项需求。②系统定义的目标是否与用户的要求一致。③从软件维护的角度出发,确认该软件设计是否考虑了方便未来
以下关于缺陷探测率(DDP)的表述,不正确的是______。A.DDP是一个衡量测试工作效率的软件质量成本指标B.缺陷探测率越高,也就是测试者发现的错误越多,发布后客户发现的错误才可能越少C.DDP是衡量测试投资回报的一个重要指标D.测试周期越长,
关于集成测试的描述中,正确的是(41)。①集成测试也叫做组装测试或联合测试,通常是在单元测试的基础上,将所有模块按照概要设计说明书和详细设计说明书的要求进行组装和测试的过程。②自顶向下的增殖方式是集成测试的一种组装方式,它能较早地验证主要的控制和判断点
网络系统中,通常把()置于DMZ区。
关于确认测试,描述正确的是(39)。①确认测试一般包括有效性测试与软件配置复查,采用黑盒测试为主,白盒测试为辅的测试方法进行测试。②确认测试配置项复查时应当严格检查用户手册和操作手册中规定的使用步骤的完整性和正确性。③确认测试需要检测与证实软件是否满
某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。若系统中字长为32位,磁盘上的物理块依次编号为:0、1、2、…,那么8192号物理块的使用情况在位示图中的第(12)个字中有所描述。
函数main()、f()的定义如下所示。调用函数f()时,第一个参数采用传值(callbyvalue)方式,第二个参数采用传引用(callbyreference)方式,main()执行后输出的值为_______。
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?使Switch1的千兆端口允许所有VLAN通过的配置命令如下,请给出空白处的配置内容:Switchl(config)#interfacegigabit0/1(进入千兆端口配置模式)
随机试题
与吸烟关系最密切的肺痛是()
患者男性,72岁,饮酒20年,每日饮酒约半斤。近8年记忆力逐渐下降,近1年不能写字。查体:血压150/90mmHg,四肢末梢发凉,皮肤发黑,双侧手指失认,左右失定向,不能书写,计算不能。余未见异常。本病病变部位在
A.Cl-内流B.Ca2+内流C.Na+内流D.K+外流E.K+内流
逆行性牙髓炎不同于其他牙髓炎的临床表现特点是
岩质边坡的倾倒破坏多发生在哪种边坡中?
贷款人到期不归还担保贷款的,商业银行依法享受的权利不包括()。
韦纳将人们活动成败的原因归结为6个因素,其中属于自身内在因素的是()。
公共政策的执行有哪些手段?()
下列各选项中,属于隶属型法律关系的是
Itisrequiredthateveryemployee(come)______intheiruniformbefore8:00a.m.
最新回复
(
0
)