首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。 【说明】 欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表16—2所示。 该绘图软件的扩展性要求,将不断扩充新的图形和新的绘图程序。为了避免
阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。 【说明】 欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表16—2所示。 该绘图软件的扩展性要求,将不断扩充新的图形和新的绘图程序。为了避免
admin
2014-11-13
51
问题
阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。
【说明】
欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表16—2所示。
该绘图软件的扩展性要求,将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况,现采用桥接(Bridge)模式来实现上述要求,得到如图16—2所示的类图。
【C++代码】
Class DPI{
publ ic:
static void draw_aline(double xl,double yl,double x2,double y2){/*代码省略*/)
static void draw—a—circle(double x,double y,double r)(/*代码省略*/)
};
C1ass DP2(
publ ic:
static void drawline(double xl,double x2,double yl,double y2)(/*代码省略*/)
static void drawcircle(double X,double Y,double r)(/*代码省略*/)
};
class Drawing(
public:
(1) ;
(2) ;
};
class vodrawing:publ ic Drawing(
publ ic:
void drawLine(double x1,double y1,double x2,double y2)(/*代码省略*/)
void drawCircle(double X,double Y,double r)( (3) ; )
};
Class vidrawing:public Drawing{
publ ic:
void drawLine(double xl,double yl,double x2,double y2)(/*代码省略*/)
void drawCircle(double X,double Y,double r)((4) )
};
C1ass Shape{
publ ic:
(5);
Shape(Drawing*dp)(_dp=dp;)
void drawLine(double x1,double yl,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{
publ ic:
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(mX,_y,_r); )
};
选项
答案
(1)virtual void drawLine(double xl,double y1,double x2,double y2); (2)virtual void drawCircle(double X,double Y,double r); (3)DPI.draw-a-ircle(x,y,r);(4)DP2.drawCircle(x,y,r); (5)virtual void draw();(6)Shape(dp)。
解析
本题考查Bridge桥接模式的概念及应用,将抽象与其实现解耦,使它们都可以独立地变化。大致意思是说:将一组实现与另一组使用他们的对象分离。这里的实现指的是抽象类及其派生类用来实现自己的对象(而不是抽象类的派生类,这些派生类被称为具体类)Drawing是一个虚拟基类,里面包含了希望不同策略实现的算法,派生类V1Drawing,V2Drawing都派生自Drawing,对基类中的希望实现的算法都作了具体实现,且它们都含有drawLine和drawCircle函数,所以Draw类中缺失的应该是这两个算法,于是
(1)virtual void drawLine(double x1,double y1,double x2,double y2);
(2)virtual void drawCircle(double x,double y,double r);DPI和DP2中包含了绘制Line和Circle的具体实现的Static方法,因此在V1Drawing,V2Drawing类中可以直接进行调用它们。
(3)DPL draw—a—circle(x,y,r)
(4)DP2.drawCircle(x,y,r);Shape类派生出Rectangle和Circle类,里面都含有draw方法,但是具体draw方法的实现却不相同,所以(5)virtual void draw(),最后Circle的构造函数初始化了后4个变量,还有继承自shape的变量一dp未做初始化,因此调用shape~构造函数做初始化(6)shape(dp)。
转载请注明原文地址:https://kaotiyun.com/show/N4DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
[Java源程序:一个简单的Web服务器]/************************************************************//*WebServer.java*//******
目前,通过移动电话接人互联网采用的主要技术是什么?公司网络中的设备或系统(包括存储商业机密的数据库服务器、邮件服务器、存储资源代码的PC机、应用网关、存储私人信息的PC机、电子商务系统)哪些应放在DMZ中,哪些应放在内网中?给予简要说明。
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?若网络用户的物理位置需要经常移动,应采用什么方式划分VLAN?
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?在交换机中配置VLAN时,VLANl是否需要通过命令创建?为什么?
阅读以下说明,回答问题1~4。[说明]FTTx+LAN是实现宽带接入的常用方法,基本结构如下图所示。
目前无线局域网主要有哪两大标准体系?简述各自特点。图1-2中“EncryptionLevel”选项用以配置WEP。WEP采用的加密技术是什么?“值”备选项中应包含两种长度为多少的密钥?
阅读以下说明,回答问题1~6。[说明]某公司已有一个100用户的有线局域网。由于业务的发展,现有的网络不能满足需求,需要增加40个用户的网络连接,并在公司客户接待室连接网络以满足合作伙伴实时咨询的需求。现结合公司的实际情况组建无线局域网,具体拓扑
阅读下面的说明,回答问题1至问题5。[说明]利用VLAN技术可以把物理上连接的网络从逻辑上划分为多个虚拟子网,可以对各个子网实施不同的管理策略。下图表示两个交换机相连,把6台计算机配置成两个VLAN。
阅读以下说明,回答问题1至问题5。[说明]某企业采用Windows2000操作系统部署企业虚拟专用网(VPN),将企业的两个异地网络通过公共Internet安全地互联起来。微软Windows2000操作系统当中对IPSec具备完善的支持,下图
随机试题
Whatisaninternationalturnkeyproject?
纤维素样坏死不见于
骨骼肌兴奋.收缩偶联中起关键作用的离子是
固位钉的类型分为()。
根据设计要求,对某结构中的角柱进行破坏性试验,以提供和验证设计数据,该过程支出的费用属于()。
某企业年初未分配利润借方余额为100万元,当年净利润为200万元,按10%提取法定盈余公积,按10%提取任意盈余公积。该企业可供投资者分配的利润为()万元。
国内安全保卫,是对()的侦查和防范工作。
下列哪一条指令在8086微处理器中是非法的?
(清华大学2008年试题)ThechangesingloballyaveragedtemperaturethathaveoccurredattheEarth’ssurfaceoverthepastcenturya
Somehousesaredesignedtobesmart.Othershavesmartdesigns.AnexampleofthesecondtypeofhousewonanAwardofExcellen
最新回复
(
0
)