首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码。 [说明] 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。 采用状态(State)模式来实现该纸巾售卖机,得到如图5-2所示的类图。其中类
阅读下列说明和C++代码。 [说明] 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。 采用状态(State)模式来实现该纸巾售卖机,得到如图5-2所示的类图。其中类
admin
2012-03-21
50
问题
阅读下列说明和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) );
}
} //其余代码省略
(2)
选项
答案
tissueMachine->getHasQuarterState()
解析
转载请注明原文地址:https://kaotiyun.com/show/UeDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
(41)不是易用性测试包括的内容。
________________不属于网络测试的测试类型。
由于不同加密机制的用途及强度不同,因此一个信息系统中加密机制使用是否合理,强度是否满足当前需要,需要通过测试来检验,通常()是测试的一个重要手段。
下图是①设计模式的类图,该设计模式的目的是②,图中,Abstraction和RefinedAbstraction之间是③关系,Abstraction和Implementor之间是④关系。③处应填入?
表示“以字符a开头且仅由字符a、b构成的所有字符串”的正规式为______。
反映Web应用客户端交易处理性能的评估指标有(59)。 ①并发用户数 ②交易响应时间 ③交易通过率 ④吞吐量 ⑤点击率
若某计算机系统是由500个元器件构成的串联系统,且每个元器件的失效率均为10-7/h,在不考虑其他因素对可靠性的影响时,该计算机系统的平均故障间隔时间为(5)h。
一个程序的控制流图中有5个结点,8条边,在测试用例数最少的情况,确保程序中每个可执行语句至少执行一次所需要的测试用例数的上限是_______。
编译和解释是实现高级程序设计语言的两种基本方式,________是这两种方式的主要区别。
阅读以下说明,回答问题1至问题3。[说明]某公司规模扩大,既要考虑保证目前土建装修的效果不被破坏,又要满足网络扩容和企业工作实际需求,同时还要保证投资不要过大。经过深入分析和研究对比,决定采用无线局域网组网来解决网络扩容的问题,网络拓扑如图1-1
随机试题
男性,17岁。发热、皮肤瘀点、牙龈出血10天就诊。化验:Hb70g/L,WBC2.2×109/L,PLT31×109/L,分类N0.7(70%),L0.25(25%),M0.05(5%),骨髓涂片增生明显活跃,原始细胞0.32(32%),早幼粒细胞0.18
小细胞未分化癌的特点是
张某,1981年4月30日出生。1999年4月20日,张某因涉嫌盗窃罪被公安机关缉拿归案。1999年5月30日,人民法院开庭审理此案,在审理的过程中,张某以指定辩护人陈某的父亲与自己的父亲曾一起做生意,后来交恶为由,拒绝陈某为其进行辩护,并由自己的父亲另行
若某房地产投资项目的表面收益率为18%,年租金增长率为8%,通货膨胀率为6%,则该项房地产投资的实际收益率为()。
下列关于项目的基本特点的表述,有误的是()。
下列质押品中,不能用其市场价格作为公允价值的是()。
Theoldmanlivesina______house.Helives______,buthedoesn’tfeel______.
《法经》六篇中,有关侵犯财产的犯罪规定在()。
publicThrowable(Stringmessage)构造函数包含getMessage()方法,用来返回带参数构造函数创建异常时的【】,对无参数构造函数而言,用它返回的是空值。
A、Buyaone-daytravelcard.B、Rentabicycle.C、Taketrams.D、Takeataxi.A
最新回复
(
0
)