首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关
阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关
admin
2015-12-01
91
问题
阅读下列说明和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://kaotiyun.com/show/kdDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
在Windows2003中,(1)不能实现NAT功能。A.终端服务管理器B.Internet连接共享C.路由和远程访问在上页左上图所示的窗口中,为部门B的服务器2配置“路由和远程访问”功能,新增eth0和eth1上的网络连
为了使DNS_Server1能正确解析本地Web站点的域名,需对DNS_Server1中的DNS服务进行配置。在图1所示的对话框中,新建的区域名称是(1);在图2所示的对话框中,添加的新建主机名称为(2),IP地址栏应填入(3)。在客户端除了可以用p
阅读以下说明,回答问题1至问题7,将解答填入对应的解答栏内。【说明】某网络拓扑结构如下图所示。网络A中的DNS_Server1和网络B中的DNSSeNer2分别安装有WindowsServer2003并启用了DNS服务。DNS_Server
下图为RouterB上的路由表信息,写出查询路由表的命令:(1)。该路由器上运行的路由协议为(2)。行政办公楼部门A所属网络地址是(3),部门B所属网络地址是(4)。在主机D上使用命令TracertDNSServer,显示结
阅读以下说明,将(n)的含义填入对应栏内。[说明]电子邮件是Internet中应用最广泛的服务,因此安装和配置一个高效与满足实际需求的电子邮件系统是每一个系统管理员的奋斗的目标之一,Linux的出现为构建低成本的、高效的电子邮件服务器提供了
阅读以下基于Windows2003操作系统服务器实施负载平衡策略的技术说明,根据要求回答问题1至问题5。【说明】随着各行业信息化建设的不断深入,对网络应用服务器的处理能力、高可用性提出了更高的要求。尤其是高度信息化的企业中,关键性网络服务已经成
请指出图1-12中(1)空缺处传输的是模拟信号,还是数字信号?图1-12中(2)空缺处是什么设备?该设备在本宽带网络中完成哪些功能?
请阅读以下说明和Socket程序,将应填入(n)处的字句写在对应栏内。【说明】网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。一般发起通信请求的应用程序称为客户软件,该应
L2TP协议是一种基于(1)协议的二层隧道协议,它结合了Cisco的L2F和MicrosoftPPTP的优点。该协议报文在传输层封装(2)协议之上,为了保证传输的可靠性,L2TP协议对控制报文采取了(3)机制,并要求tunne1对端设备在隧道(tunne
随机试题
下列哪项不是肝硬化出血的原因
感染钩端螺旋体的主要途径是
地方性甲状腺肿的主要发病原因是()。
( )负责会计从业资格管理、会计专业技术职务资格管理、会计人员评优表彰奖惩以及会计人员继续教育。
乙公司原材料按计划成本计价核算。2015年6月1日“原材料”账户借方余额为4000万元、“材料成本差异”账户贷方余额50万元,月初“原材料”账户余额中含有5月31日暂估入账的原材料成本1500万元。2015年6月公司入库原材料的计划成本为5000万元
中外合资经营企业可以增加注册资本,其必须履行的法定程序是()。
《中华人民共和国合同法》规定,有下列()情形之一的,当事人可以解除合同。
国家管理其实就是行政管理。()
新近一项研究发现,海水颜色能够让飓风改变方向,也就是说,如果海水变色,飓风的移动路径也会变向。这也就意味着科学家可以根据海水的“脸色”判断哪些地区将被飓风袭击,哪些地区会幸免于难。值得关注的是,全球气候变暖可能已经让海水变色。以下哪项最可能是科学家作出判断
Theenvironmentofthechemicalagestretchbeyondtheauthorityofanyexistingpoliticalandsocialinstitutions.Mattersoft
最新回复
(
0
)