中级软件设计师.填空集考试卷模拟考试题_1_第1页
中级软件设计师.填空集考试卷模拟考试题_1_第2页
中级软件设计师.填空集考试卷模拟考试题_1_第3页
中级软件设计师.填空集考试卷模拟考试题_1_第4页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、姓名:_ 班级:_ 学号:_-密-封 -线- 中级软件设计师.填空集考试卷模拟考试题考试时间:120分钟 考试总分:100分题号一二三四五总分分数遵守考场纪律,维护知识尊严,杜绝违纪行为,确保考试结果公正。1、阅读以下说明和c+代码,说明现要编写一个画矩形的程序,目前有两个画图程序:dp1和dp2,dp1用函数draw_a_line(x1,y1,x2,y2)画一条直线,dp2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用dp1还是dp2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象

2、部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为bridge(桥接)模式。图6-1显示了各个类间的关系。图6-1这样,系统始终只处理3个对象:shape对象、drawingg对象、dp1或dp2对象。以下是c+语言实现,能够正确编译通过。c+代码class dp1public:static void draw_a_line(double x1,double y1,double x2,double y2)/省略具体实现;class dp2public:static voiddrawline(double x1,double x2,double y

3、1,double y2)/省略具体实现;class drawingpublic:(1)voiddrawline(double x1,double y1,double x2,double y2)=0;class v1drawing:public drawingpublic:void drawline(double x1,double y1,double x2,double y2)dp1:draw_a_line(x1,y1,x2,y2);class v2drawing:public drawingpublic:void drawline(double x1,double y1,doublex2,d

4、ouble y2)(2);class shapeprivatc:(3)dp;public:shape(drawing*dp);virtual void draw( )=0;void drawline(double x1,double y1,double x2,double y2);shape:shape(drawing*dp)_dp=dp;void shape:drawline(doublex1,double y1,double x2,double y2) /画一条直线(4);class rectangle:public shapeprivatc:double_x1,_y1,_x2,_y2;p

5、ublic:rectangle(drawing *dp,double x1,double y1,doublex2,double y2);void draw( );rectangle:rectangle(drawing*dp,double x1,double y1,double x2,double y2):(5)_x1=x1;_y1=yl;_x2=x2;_y2=y2;voidrectangle:draw( )/省略具体实现 ( )2、阅读以下说明和c+代码,说明现要编写一个画矩形的程序,目前有两个画图程序:dp1和dp2,dp1用函数draw_a_line(x1,y1,x2,y2)画一条直线,d

6、p2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用dp1还是dp2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为bridge(桥接)模式。图6-1显示了各个类间的关系。图6-1这样,系统始终只处理3个对象:shape对象、drawingg对象、dp1或dp2对象。以下是c+语言实现,能够正确编译通过。c+代码class dp1public:static void draw_a_line

7、(double x1,double y1,double x2,double y2)/省略具体实现;class dp2public:static voiddrawline(double x1,double x2,double y1,double y2)/省略具体实现;class drawingpublic:(1)voiddrawline(double x1,double y1,double x2,double y2)=0;class v1drawing:public drawingpublic:void drawline(double x1,double y1,double x2,double

8、y2)dp1:draw_a_line(x1,y1,x2,y2);class v2drawing:public drawingpublic:void drawline(double x1,double y1,doublex2,double y2)(2);class shapeprivatc:(3)dp;public:shape(drawing*dp);virtual void draw( )=0;void drawline(double x1,double y1,double x2,double y2);shape:shape(drawing*dp)_dp=dp;void shape:drawl

9、ine(doublex1,double y1,double x2,double y2) /画一条直线(4);class rectangle:public shapeprivatc:double_x1,_y1,_x2,_y2;public:rectangle(drawing *dp,double x1,double y1,doublex2,double y2);void draw( );rectangle:rectangle(drawing*dp,double x1,double y1,double x2,double y2):(5)_x1=x1;_y1=yl;_x2=x2;_y2=y2;voi

10、drectangle:draw( )/省略具体实现 ( )3、阅读以下说明和c+代码,说明现要编写一个画矩形的程序,目前有两个画图程序:dp1和dp2,dp1用函数draw_a_line(x1,y1,x2,y2)画一条直线,dp2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用dp1还是dp2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为bridge(桥接)模式。图6-1显示了各个类间的

11、关系。图6-1这样,系统始终只处理3个对象:shape对象、drawingg对象、dp1或dp2对象。以下是c+语言实现,能够正确编译通过。c+代码class dp1public:static void draw_a_line(double x1,double y1,double x2,double y2)/省略具体实现;class dp2public:static voiddrawline(double x1,double x2,double y1,double y2)/省略具体实现;class drawingpublic:(1)voiddrawline(double x1,double y

12、1,double x2,double y2)=0;class v1drawing:public drawingpublic:void drawline(double x1,double y1,double x2,double y2)dp1:draw_a_line(x1,y1,x2,y2);class v2drawing:public drawingpublic:void drawline(double x1,double y1,doublex2,double y2)(2);class shapeprivatc:(3)dp;public:shape(drawing*dp);virtual voi

13、d draw( )=0;void drawline(double x1,double y1,double x2,double y2);shape:shape(drawing*dp)_dp=dp;void shape:drawline(doublex1,double y1,double x2,double y2) /画一条直线(4);class rectangle:public shapeprivatc:double_x1,_y1,_x2,_y2;public:rectangle(drawing *dp,double x1,double y1,doublex2,double y2);void d

14、raw( );rectangle:rectangle(drawing*dp,double x1,double y1,double x2,double y2):(5)_x1=x1;_y1=yl;_x2=x2;_y2=y2;voidrectangle:draw( )/省略具体实现 ( )4、阅读以下说明和c+代码,说明现要编写一个画矩形的程序,目前有两个画图程序:dp1和dp2,dp1用函数draw_a_line(x1,y1,x2,y2)画一条直线,dp2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用dp1还是dp2。为了适应变化,包括“不同类型的形状”和“不同

15、类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为bridge(桥接)模式。图6-1显示了各个类间的关系。图6-1这样,系统始终只处理3个对象:shape对象、drawingg对象、dp1或dp2对象。以下是c+语言实现,能够正确编译通过。c+代码class dp1public:static void draw_a_line(double x1,double y1,double x2,double y2)/省略具体实现;class dp2public:static vo

16、iddrawline(double x1,double x2,double y1,double y2)/省略具体实现;class drawingpublic:(1)voiddrawline(double x1,double y1,double x2,double y2)=0;class v1drawing:public drawingpublic:void drawline(double x1,double y1,double x2,double y2)dp1:draw_a_line(x1,y1,x2,y2);class v2drawing:public drawingpublic:void

17、drawline(double x1,double y1,doublex2,double y2)(2);class shapeprivatc:(3)dp;public:shape(drawing*dp);virtual void draw( )=0;void drawline(double x1,double y1,double x2,double y2);shape:shape(drawing*dp)_dp=dp;void shape:drawline(doublex1,double y1,double x2,double y2) /画一条直线(4);class rectangle:public

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论