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

2013年下半年(下午)《软件设计师》真题.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文档。上传文档
查看更多
2013年下半年(下午)《软件设计师》真题 注意:图片可根据实际需要调整大小 卷面总分:6分 答题时间:240分钟 试卷题量:6题 练习次数:0次 问答题 (共6题,共6分) 1.欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表5-1所示。 表5-1不同的绘图程序 该绘图软件的扩展性要求,将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况,现采用桥接(Bridge)模式来实现上述要求,得到如图5-1所示的类图。 图5-1类图 【C++代码】 class?DP1{ public: static void draw_a_line(double?x1,double?y1,double?x2,double?y2){/*代码省略*/} static void draw_a_circle(double?x,double?y,double?r){/*代码省略*/} }; class?DP2{ public: static void drawline(double x1,double x2,double y1,double y2){/*代码省略*/} static void drawcircle(double x,double y,double r){/*代码省略*/} }; class?Drawing{ public: (1); (2); }; class V1Drawing:public Drawing{ public: void drawLine(double?x1,double?y1,double?x2,double?y2){/*代码省略*/} void drawCircle(double?x,double?y,double?r){(3);} }; class V2Drawing:public?Drawing{ public: void drawLine(double?x1,double?y1,double?x2,double?y2){/*代码省略*/} void drawCircle(double?x,double y,double?r){(4);} }; class Shape{ public: (5); Shape(Drawing*dp){_dp=dp;} void drawLine(double?x1,double?y1,double?x2,double y2){_dp-drawLine(x1,y1,x2,y2);} void drawCircle(double?x,double?y,double r){_dp-drawCircle(x,y,r);} private:Drawing*_dp; }; class?Rectangle:public?Shape{ public: void draw(  ){/*代码省略*/} //其余代码省略 }; class Circle:public Shape{ private:double_x,_y,_r; public: Circle(Drawing*dp,double x,double?y,double r):(6){_x=x;_y=y;_r=r;} void draw(  ){drawCircle(_x,_y,_r);} }; 正确答案: 本题解析: (1)virtual void drawLine(double x1,double y1,double x2,double y2)=0 (2)virtual void drawCircle(double x,double y,double r)=0 (3)DP1::draw_a_circle(x,y,r) (4)DP2::drawcircle(x,y,r) (5)virtual void?draw()=0 (6)Shape(dp) 根据类图,可知:Drawing类有两个函数drawLine()、drawCircle(),在从继承于它的两个子类V1Drawing、V2Drawing中drawLine()、drawCircle()得到返回值类型为void及函数参数。则(1)为virtual void drawLine(double x1,double y1,double x2,double y2)=0;(2)为virtual void drawCircle(double x,double y,double r)=0。 根据V1Drawing与DP1之间的关联关系,V2Drawing与DP2之间的关联关系,可知(3)是去调用DP1中的

文档评论(0)

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

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

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

1亿VIP精品文档

相关文档