首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码。 [说明] 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。 采用状态(State)模式来实现该纸巾售卖机,得到如图5-2所示的类图。其中类
阅读下列说明和C++代码。 [说明] 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。 采用状态(State)模式来实现该纸巾售卖机,得到如图5-2所示的类图。其中类
admin
2012-03-21
69
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
假设A、B为布尔变量,对于逻辑表达式(A&&B),至少需要(63)个测试用例才能完成MCDC覆盖。
函数t()、f()的定义如下所示。若调用函数t()时传递给x的值为3,并且调用函数f()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,则函数t0的返回值为(33).
视觉上的颜色可用亮度、色调和饱和度三个特征来描述。其中饱和度是指颜色的___________。
从认证中心CA获取用户B的数字证书,该证书用______做数字签名,从用户B的数字证书中可以获得B的公钥。
在软件项目管理中可以使用各种图形工具来辅助决策,下面对甘特(Gantt)图的描述中,不正确的是(15)。
关于软件测试与质量保证,正确的理解是______。A.软件测试关注的是过程中的活动,软件质量保证关注的是过程的产物B.软件测试不是软件质量保证工作中的内容C.软件测试是软件质量保证的重要手段D.软件质量保证人员就是软件测试人员
下图是________________设计模式的类图,该设计模式的目的是________________,图中,Decorator和Component之间是________________关系,ConcreteDecorator和Decorator之间是_
通用的风险分析表应包括()。(54)①风险问题②发生的呵能性③影响的严重性④风险预测值⑤风险优先级
阅读以下说明,回答问题1~7。[说明]下图是在网络中划分VLAN的连接示意图。VLAN可以不考虑用户的物理位置,而根据功能、应用等因素将用户从逻辑上划分为一个个功能相对独立的工作组,每个用户主机都连接在支持VLAN的交换机端口上,并属于某个VLA
对文法G进行改写,然后对每个非终结符写出不带回溯的递归于程序。说明输入串(a,a)#是否为G的句子。
随机试题
如果企业的净收益营运指数小于1,说明企业的非经营收益是负值。()
情绪是一种反映形式,其中介为()
菊花具有的功效是
颞下颌关节复发性脱位的治疗方法不包括
患儿,2岁。百日咳后持续发热半月余,体温在38℃左右,易倦纳差,消瘦,近1周头痛,烦躁,时有呕吐,体检:心肺听诊无异常,肝肋下0cm,颈强(±),脑脊液:外观清,蛋白(+),细胞数:80×106/L,糖:5mmol/L,氯化物115mmol/L,诊断为
小凡年满10周岁,精神健康,智力正常。他在学校门口的文具店看中一块橡皮,定价2元,于是用自己的零钱将其买下。下列关于小凡购买橡皮行为效力的表述中,正确的是()。
关于新民主主义革命的任务、目的及对象说法正确的是()。
高速公路上行驶的汽车A的速度是100公里每小时,汽车B的速度是。120公里每小时,此刻汽车A在汽车B前方80公里处,汽车A中途加油停车10分钟后继续向前行驶。那么从两车相距80公里处开始,汽车B至少要多长时间可以追上汽车A?()
数据库概念设计阶段得到的结果是()
A、Olderpeople’saversiontonewmusic.B、Olderpeople’schangingmusicaltastes.C、Insightsintothefeaturesofgoodmusic.D、
最新回复
(
0
)