首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码。 [说明] 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。 采用状态(State)模式来实现该纸巾售卖机,得到如图5-2所示的类图。其中类
阅读下列说明和C++代码。 [说明] 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。 采用状态(State)模式来实现该纸巾售卖机,得到如图5-2所示的类图。其中类
admin
2012-03-21
21
问题
阅读下列说明和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) );
}
} //其余代码省略
(1)
选项
答案
State
解析
转载请注明原文地址:https://jikaoti.com/ti/xui7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
统一过程(UP)是一种用例驱动的迭代式增量开发过程,每次迭代过程中主要的工作流包括捕获需求、分析、设计、实现和测试等。这种软件过程的用例图(Use Case Diagram)是通过(19)得到的。
(38)属于概要设计说明书的评测内容。①分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成分是否可追溯到某一项需求。②系统定义的目标是否与用户的要求一致。③从软件维护的角度出发,确认该软件设计是否考虑了方便未来
软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性(51)是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。
目前比较热门的软件开发工具,如VB、PB、Delphi等都是可视化的。这些工具是一种(24)程序语言。
软件风险一般包含(14)两个特性。
下图是①设计模式的类图,该设计模式的目的是②,图中,Abstraction和RefinedAbstraction之间是③关系,Abstraction和Implementor之间是④关系。①处应填入?
运行Web浏览器的计算机与网页所在的计算机要建立(66)连接,采用(67)协议传输网页文件。
软件质量的定义是(42)。
编译和解释是实现高级程序设计语言的两种基本方式,________是这两种方式的主要区别。
阅读以下说明,回答问题1至问题4,将解答填入答题纸的对应栏内。[说明]A公司用1台Web服务器和1台应用服务器来管理销售信息。销售人员在办公室时通过PC机来访问应用服务器,若在公司以外,则通过具有数据显示功能的移动电话或PDA(Perso
随机试题
下列不能作为皮质激素类药物含量测定的比色法是
患者,男,27岁,自去年冬季以来每日发生空腹痛,进食后疼痛缓解。平时伴有恶心、打嗝、反酸,查体:剑突右侧有局限压痛,无反跳痛。目前认为是何种细菌感染
[2007年第115题,2003年第097题]对欧美现代城市建设产生过很大影响的“城市美化运动”起源于:
火灾危险环境分为有可燃液体存在的2l区,有可燃粉体或纤维存在的22区,有可燃固体存在的23区,23固定安装电器的防护等级不得低于()。
2019年1月1日,甲公司当期自行研发无形资产,研究阶段支出50万元,开发阶段不符合资本化条件的支出为100万元,开发阶段符合资本化条件的支出为200万元。当期发生研究开发支出共计350万元,假定该无形资产当期达到预定用途,并在当期摊销10万元。假定会计摊
如图,正方形ABCD的边长为2,M、N分别是BC、CD上的两个动点,当点M在BC上运动时,保持AM和MN垂直.求证:△ABM∽△MCN;
价格竞争是通过降价来使顾客花更少的钱却得到同样满足的一种竞争。非价格竞争,即价值竞争,就是为顾客提供更好、更有特色,或者更能适合各自需求的产品和服务的一种竞争。根据上述定义,下列不属于非价格竞争策略的一项是:
设f(u,v)具有二阶连续偏导数,且满足求
如果一个班只能有一个班长,而且一个班长不能同时担任其他班的班长,班级和班长两个实体之间的关系属于【】联系。
有如下程序:#includeusingnamespacestd;classBase{public:voidfun(){eout
最新回复
(
0
)