首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码。 [说明] 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。 采用状态(State)模式来实现该纸巾售卖机,得到如图5-2所示的类图。其中类
阅读下列说明和C++代码。 [说明] 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。 采用状态(State)模式来实现该纸巾售卖机,得到如图5-2所示的类图。其中类
admin
2012-03-21
29
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
下面关于漏洞扫描系统的叙述,错误的是(7)。
下面①~④是关于软件评测师工作原则的描述,正确的判断是(38)。①对于开发人员提交的程序必须进行完全的测试,以确保程序的质量。②必须合理安排测试任务,做好周密的测试计划,平均分配软件各个模块的测试时间。③在测试之前需要与开发人员进行详细的交流,明确开
从认证中心CA获取用户B的数字证书,该证书用______做数字签名,从用户B的数字证书中可以获得B的公钥。
由于不同加密机制的用途及强度不同,因此一个信息系统中加密机制使用是否合理,强度是否满足当前需要,需要通过测试来检验,通常()是测试的一个重要手段。
软件风险一般包含(14)两个特性。
运行Web浏览器的计算机与网页所在的计算机要建立(66)连接,采用(67)协议传输网页文件。
在引入自动化测试工具以前,手工测试遇到的问题包括()。①工作量和时间耗费过于庞大②衡量软件测试工作进展困难③长时间运行的可靠性测试问题④对并发用户进行模拟的问题⑤确定系统的性能瓶颈问题⑥软件测试过程的管
防火墙对数据包进行过滤时,不能过滤的是(9)________________。
错误管理的流程可以概括为:测试人员提交新的错误入库,错误状态为1,高级测试人员验证错误,如果确认是错误,分配给相应的开发人员,设置状态为2,如果不是错误,则拒绝,设置为“拒绝”状态:开发人员查询状态为3的错误,做如下处理:如果不是错误,则置状态为“拒绝”,
该DHCP服务器可分配的IP地址有多少个?在Windows操作系统下,DHCP客户端“Internet协议(TCP/IP)属性”配置界面如下图所示。在此界面中,客户端应如何配置?
随机试题
Manypeoplewronglybelievethatwhentheyreacholdage,theirfamilieswillplacetheminnursinghomes.Theywillbeleftin
注意稳定性是注意品质在效率上的特征。
以肝脏代谢为主的强心苷为:几乎完全经肾排泄的强心苷为:
白细胞分化抗原可表达在哪些细胞上
证券公司提供的服务类型通常有()
在公司融资和项目融资中,所占比重最大的债务融资方式是()。
加涅所说的刺激—反应学习,相当于操作性条件反射。()
幼儿常常“好心办坏事”,如:将米洗好了放在锅里,却没有放水。这是幼儿思维的()所致。
自我控制主要表现为个人对自己行为的__________和__________,使之达到自我的目标。
1 WhenAmericahadanenergycrisis,ourleadersrespondedbycreatingtheDepartmentofEnergy.Whenweperceivedsho
最新回复
(
0
)