首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关
阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关
admin
2015-12-01
44
问题
阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。Command模式的类图如图4—1所示。
【C++代码】
class Light{
public:
Light(string name){/*代码省略*/}
void on(){/*代码省略*/} //开灯
void off(){/*代码省略*/} //关灯
}
class Command{
public:
(1);
);
class LightOnCommand:public Command{//开灯命令
private:
Light*light;
public:
LightOnCommand(Light*light){this一>iight=light;)
Void execute(){(2);)
};
class LightOffCommand:public Command{//关灯命令
private:
Light*iight;
public:
LightOffCommand(Light*light){this一>i ight=light;)
Void execute(){(3);}
};
class RemoteControl(//遥控器
private:
Command*onCommands[7];
Command*offCommands[7];
public:
RemoteControl(){/*代码省略*/)
void setCommand(int slot Command*onCommand,Command*offCommand){
(4)=onCommand;
(5)=offCommand;
}
void onButtonWasPushed(int slot){(6):)
void offButtonwasPushed(int slot){(7):)
);
int main(){
RemoteControl*remoteControl=new RemoteControl();
Light*livingRoomLight=new Light(“Living Room”);
Light*kitchen Light=new Light(“kitchen");
LightOnCommand*IivingRoomLightOn=new LightOnCommand(livingRoomLight):
LightOffCommand*iivingRoomLightOff=new LightOffCommand(livingRoomLight):
LightOnCommand*kitchenLightOn=new LightOnCommand(kitchenLight):
LightOffCommand*kitchenLightOff=new LightOffCommand(kitchenLight):
remoteControl一>setCommand(0,livingRoomLightOn,livingRoomLightOff);
remoteControl一>setCommand(1,kitchenLightOn,kitchenLightOff);
remoteControl一>onButtonWasPushed(0):
remoteControl一>off ButtonWasPushed(0);
remoteControl一>onButtonWasPushed(1);
remoteControl一>offButtonWasPushed(1);
/*其余代码省略*/
return0;
}
选项
答案
(1)void execute(){} (2)light一>on() (3)light一>off() (4)onCommands[slot] (5)offCommands[slot] (6)onCommands[slot]一>execute() (7)offCommands[slot]一>execute()
解析
本题考查Command命令模式的概念及应用。Command命令模式是一种对象行为模式。它主要解决的问题是,在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”的问题。将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。
转载请注明原文地址:https://jikaoti.com/ti/dsi7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下关于在Linux系统中配置Apache服务器的说明,回答问题1至问题3,将解答填入解答栏内。【说明】在Linux系统中采用Apache配置Web服务器。Apache服务器提供了丰富的功能,包括:目录索引、目录别名、虚拟主机、HTTP日志报
IPSec工作在TCP/IP协议栈的(1),为TCP/IP通信提供访问控制、(2)、数据源验证、抗重放、(3)等多种安全服务。IPSec的两种工作模式分别是(4)和(5)。(1)~(5)备选答案:A.应用层B.网络层C.数据链
阅读以下说明,回答问题1至问题5,将解答填入对应的解答栏内。【说明】某公司内部服务器S1部署了重要的应用,该应用只允许特权终端PC1访问,如下图所示。为保证通信安全,需要在S1上配置相应的IPSec策略。综合考虑后,确定该IPSec策略如下。
若采用电话线方式上网,并按要求在计算机连入网络的同时能通电话,连网速率高于500Kbps,可以选用哪种技术方案?其最高通信速率为多少?依据ISO/OSI参考模型对无线扩频网络设备进行分类,可以分为哪几种类型?用无线扩频设备实现网络互连需要何种配套设备
阅读以下关于网络地址转换(NAT)的技术说明,结合网络拓扑图回答问题1至问题3。【说明】网络地址转换(NAT)技术可用来缓解IP地址短缺问题和实现TCP负载均衡功能。动态地址翻译技术在子网外部使用少量的全局地址,通过路由器进行内部和外部地址的转换
在图4-8所示的无线接待室中WLAN采用的体系结构如图4-9所示,请将(1)~(3)空缺处填写完整请将以下(11)~(14)空缺处的内容填写完整,并帮助郭工程师解释产生以下网络故障的原因。该网络建成后一直使用正常,但最近发现无线覆盖区域A、B
请指出图1-12中(1)空缺处传输的是模拟信号,还是数字信号?在图1-12所示的网络拓扑图中,欲使内部网具有构造虚拟网的功能,图中(5)空缺处的交换机应具有哪些功能?
认真阅读以下关于架构Apache安全服务器的技术说明,根据要求回答问题1至问题5。【说明】某些商务公司要求其网站的部分信息资源只对经过身份认证后的用户开放。因此在Linux+Apache架构Web服务器方案中,需利用mod-ss1模块给Apach
L2TP协议是一种基于(1)协议的二层隧道协议,它结合了Cisco的L2F和MicrosoftPPTP的优点。该协议报文在传输层封装(2)协议之上,为了保证传输的可靠性,L2TP协议对控制报文采取了(3)机制,并要求tunne1对端设备在隧道(tunne
随机试题
设A=,求A2+B2一AB—BA.
earcsinx+C
既治肝肾不足,目暗不明,又治胎动不安的药物是
下列水泵房隔声降噪的措施中,效果较差的是:[2013—074]
调压室的大部分或全部设置在地面以上的称为______,调压室大部分埋在地面之下者,则称为______。下列选项正确的是()。
以怨报德
李大钊曾写下“铁肩担道义,妙手著文章”的警语,这体现了()
Onecowardlypersoncametoamasterofmartialarts(武术)tolearnbravery.Themasterlookedathimandsaid:"Iwillteach
StockMarketVocabularyandExpressionsdebtmarketliquidinvestmentup-and-comingcounterpartyliquidityim
PassageThreeWhydidsomeparentsholdanunaffordablepartytocelebratetheirkids’enteringadulthood?
最新回复
(
0
)