首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关
阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关
admin
2015-12-01
47
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
为了使DNS_Server1能正确解析本地Web站点的域名,需对DNS_Server1中的DNS服务进行配置。在图1所示的对话框中,新建的区域名称是(1);在图2所示的对话框中,添加的新建主机名称为(2),IP地址栏应填入(3)。在网络A的PCI中执
为了使DNS_Server1能正确解析本地Web站点的域名,需对DNS_Server1中的DNS服务进行配置。在图1所示的对话框中,新建的区域名称是(1);在图2所示的对话框中,添加的新建主机名称为(2),IP地址栏应填入(3)。将DNS_Serve
为了使DNS_Server1能正确解析本地Web站点的域名,需对DNS_Server1中的DNS服务进行配置。在图1所示的对话框中,新建的区域名称是(1);在图2所示的对话框中,添加的新建主机名称为(2),IP地址栏应填入(3)。DNS_Server
阅读以下说明,回答【问题1】~【问题4】,将解答填入答题纸的对应栏内。【说明】设有A、B、C、D四台主机都处在同一个物理网络中,A主机的IP地址是192.155.12.112,B主机的IP地址是192.155.12.120,C主机的IP地址是19
阅读以下关于网络地址转换(NAT)的技术说明,结合网络拓扑图回答问题1至问题3。【说明】网络地址转换(NAT)技术可用来缓解IP地址短缺问题和实现TCP负载均衡功能。动态地址翻译技术在子网外部使用少量的全局地址,通过路由器进行内部和外部地址的转换
在图4-8所示的无线接待室中WLAN采用的体系结构如图4-9所示,请将(1)~(3)空缺处填写完整请将以下(11)~(14)空缺处的内容填写完整,并帮助郭工程师解释产生以下网络故障的原因。该网络建成后一直使用正常,但最近发现无线覆盖区域A、B
在图4-8所示的无线接待室中WLAN采用的体系结构如图4-9所示,请将(1)~(3)空缺处填写完整IEEE802.11标准采取了认证和加密措施,其中(9)具有控制图4-8所示的拓扑结构中无线接待室WLAN接入的能力。IEEE802.11标准提供WEP
网络负载平衡(NetworkLoadBalancing)的核心是位于网络适配器驱动和(1)之间的WLBS.SYS的筛选器驱动。它采用一种(2),根据传入客户端的(3),以统计方式将其映射到群集主机。当发现到达的数据包时,所有主机同时执行这种映射,以快速
阅读以下关于交换机VTP协议配置的技术说明,根据要求回答问题1至问题4。【说明】利用VLAN技术可以把物理上连接的网络从逻辑上划分为多个不同的虚拟子网,可以对各个子网实施不同的管理策略。利用showvtpstatus命令在某台交换机的特权模式
随机试题
Fillintheblankswiththeproperformsofthewordsgiveninthe______(parenthesis).
TheUnitedStatesisknownasacountryofwealth.However,itisalsoacountrywithagreatdealofcrime.Anditisn’tgettin
A.滑膜B.肌肉及肌腱C.软骨D.骨E.关节鹱成人股骨头无菌坏死病变始于
正常人血浆pH值为
关于刑法上因果关系的判断,下列哪一选项是正确的?()
某东北管道加压泵站扩建,新增两台离心式增压泵。两台增压泵安装属该扩建工程的机械设备安装分部工程。泵安装前,班组领取了安装垫铁,未仔细检查,将其用于泵的安装。隐蔽前专检人员发现,有三组垫铁的规格和精度不符合要求,责成施工班组将此三组垫铁换为合格垫铁。在设备配
建设工程项目管理的类型有多种,按建设工程生产组织的特点,一个项目往往由许多参与单位承担不同的建设任务,而各参与单位的()不同形成了不同类型的项目管理。
直观性原则
下列选项中,划线词使用恰当的是()。
下列哪种行为构成拒不执行判决、裁定罪?()
最新回复
(
0
)