首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关
阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关
admin
2015-12-01
22
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下关于在Linux系统中配置Apache服务器的说明,回答问题1至问题3,将解答填入解答栏内。【说明】在Linux系统中采用Apache配置Web服务器。Apache服务器提供了丰富的功能,包括:目录索引、目录别名、虚拟主机、HTTP日志报
阅读下列说明,回答问题1至问题6,将解答填入解答栏内。【说明】某公司的两个部门均采用Windows2003的NAT功能共享宽带连接访问Internet,其网络结构和相关参数如下图所示。ISP为该公司分配的公网IP地址段为202.117.12.3
为了使DNS_Server1能正确解析本地Web站点的域名,需对DNS_Server1中的DNS服务进行配置。在图1所示的对话框中,新建的区域名称是(1);在图2所示的对话框中,添加的新建主机名称为(2),IP地址栏应填入(3)。将DNS_Serve
下图为RouterB上的路由表信息,写出查询路由表的命令:(1)。该路由器上运行的路由协议为(2)。行政办公楼部门A所属网络地址是(3),部门B所属网络地址是(4)。在主机D上使用命令TracertDNSServer,显示结
如果ping127.0.0.1(本地循环地址),如果该地址无法Ping通,则说明了是什么原因?什么命令是一个监控TCP/IP网络的实用的工具,它可以显示实际的网络连接以及每一个网络接口设备的状态信息?什么命令是把网卡物理地址与IP静态地址捆绑在一起?
以下是使用E1线路实现多个64Kbit/s专线连接。当链路为T1时,channel-group编号为0~23,Timeslot范围为1~24;当链路为E1时,channel-group编号为0~30,Timeslot范围为1~31.路由器
阅读以下有关传统局域网络运行和维护的叙述,将应填入(n)处的字句写在对应栏内。在对网络运行及维护前首先要了解网络,包括识别网络对象的硬件情况、判别局域网的拓扑结构和信道访问方式、确定网络互联以及用户负载等。常见的3种拓扑结构是星形、(1)与(2)拓
阅读以下有关网络设备安装与调试的叙述,分析设备配置文件,回答问题1至问题3。现以一台远程访问服务器(RemoteAccessServer,RAS)Cisco2509、RJ45为例来说明。第一步,准备安装与调试所需的设备,主要包括RAS
网络负载平衡(NetworkLoadBalancing)的核心是位于网络适配器驱动和(1)之间的WLBS.SYS的筛选器驱动。它采用一种(2),根据传入客户端的(3),以统计方式将其映射到群集主机。当发现到达的数据包时,所有主机同时执行这种映射,以快速
L2TP协议是一种基于(1)协议的二层隧道协议,它结合了Cisco的L2F和MicrosoftPPTP的优点。该协议报文在传输层封装(2)协议之上,为了保证传输的可靠性,L2TP协议对控制报文采取了(3)机制,并要求tunne1对端设备在隧道(tunne
随机试题
食管癌最常见的转移途径是
社区健康教育的目的是
尿毒症患者出现手足搐搦多因为
工程项目的投融资服务主要贯穿于项目的()阶段。
信托计划财产独立于信托公司的固有财产,信托公司不得将信托计划财产归入其固有财产。()
1980年,创业时的H公司,只生产风扇,需要的是当机立断的决策机制。当时采用直线式管理简单直接、环节清晰。几年后H公司已经变成了集团,直线式管理的弊端渐显。各个产品经营单位埋头生产,整个集团的五大种类、近千种产品统一由销售公司负责推广。产销脱节的矛盾使原有
WhatdoyouknowabouttheChunnel?
附属内驱力在()表现最为突出。
在上文横线上填入相关词语,顺序正确的一组是()。在[a]、[b]、[c]处恰当的措辞是()。
斯金纳认为存在两种类型的学习,分别是_____________和_____________两种。
最新回复
(
0
)