2014年下半年(下午)《软件设计师》真题.docxVIP

2014年下半年(下午)《软件设计师》真题.docx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2014年下半年(下午)《软件设计师》真题 注意:图片可根据实际需要调整大小 卷面总分:6分 答题时间:240分钟 试卷题量:6题 练习次数:0次 问答题 (共6题,共6分) 1.某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。Command模式的类图如图5-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-light=light;} void execute(  ){(2);} }; class LightOffCommand:public Command{//关灯命令 private: Light*light; public: LightOffCommand(Light*light){this-light=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*kitchenLight=new Light(kitchen); LightOnCommand*livingRoomLightOn=new LightOnCommand(livingRoomLight); LightOffCommand*livingRoomLightOff=newLightOffCommand(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-offButtonWasPushed(0); remoteControl-onButtonWasPushed(1); remoteControl-offButtonWasPushed(1); /*其余代码省略*/ return 0; } 正确答案: 本题解析: (1)virtual void execute()=0 (2)light-on() (3)light-off() (4)onCommands[slot] (5)offCommands[slot] (6)onCommands[slot]-execute() (7)offCommands[slot]-execute() 本题考查设计模式的实现,难度较小。根据类图和已有代码可写出空缺的代码,书写方式注意java和C++的区别即可。 Command类为所有的命令声明了一个接口,因

文档评论(0)

山水教育[全国可咨询] + 关注
官方认证
服务提供商

山水教育专注行业研报、成人教育、自考、考研考博培训,建筑行业职业资格证书考试、卫生系统职业资格考试、大学专业考核试题等等,欢迎垂询,助您考试成功!

认证主体成都梦创星野科技有限公司
IP属地河北
统一社会信用代码/组织机构代码
91510114MACPUY5K3K

1亿VIP精品文档

相关文档