首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y
阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y
admin
2014-10-11
23
问题
阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。
【说明】
现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DPI还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图6—1显示了各个类间的关系。
【图6.1】
这样,系统始终只处理3个对象:Shape对象、Drawing对象、DP1或DP2对象。以下是C++语言实现,能够正确编译通过。
【C++代码】
ClassDPI{
publiC:
staticvo~dd~aw—a—l~he(doublex1,doubley1,doublex2,doubley2)(
//省略具体实现
}
};
ClassDP2{
publiC:
statiCvoiddrawline(doublex1,doublex2,doubley1,doubley2)(
//省略具体实现
}
};
ClassDrawing(
public:
(1)voiddrawLine(doublex1,doubley1,doublex2,doubley2)=0;
};
ClassV1Drawing:publiCDrawing{
public:
voiddrawL~he(doublex1,doubley1,doublex2,doubley2){
DPi::draw—a一lihe(x1,y1,x2,y2);
}
};
ClassV2Drawing:publiCDrawing{
publiC:
voiddrawLine(doublex1,doubley1,doublex2,doubley2){
(2);
}
};
classShape(
private:
(3)_dp;
public:
Shape(Drawing。dp);
virtualvoiddraw()=0;
voiddrawLine(doublexl,doubley1,doublex2,doubley2);
};
Shape::Shape(Drawing*dp);
{
dp=dp;
}
voidShape::drawLine(doub2ex1,doubley1,doub2ex2,doubley2)
{//画一条直线
(4);
}
ClaasRectangle:publiCShape{
private:
double_x1,_y1,_x2,_y2;
public:
Rectangle(Drawing*dp,doublex1,doubley1,
doublex2,doubley2);
V01ddraw();
};
Rectangle::Rectangle(Drawing‘dp,doublexl,doubleyl,doublex2,doubley2)_
:(5)
{
x1=x1;—y1=y1;_x2=x2;_y2=y2;
}
voidRectangle::draw()
{
//省略具体实现
选项
答案
(1)virtual (2)DP2::drawline(x1,x2,y1,y2) (3)Drawing (4)_dp->drawLine(x1,y1,x2,y2) (5)Shape(dp)
解析
由函数drawLine0结尾的“=0”易知,空(1)应填virtual。
空(2)是调用DP2系统的相应方法,可参照DPI的对应函数的函数体,但要注意参数不完全相同,应填DP2::drawline(x1,x2,y1,y2)。一dpN性是用来存储Drawing对象的,参照Shape的构造函数可确认这一点,空(3)应填Drawing*。Shape类drawLine方法是通过调用Drawing对的方法来实现所需要的功能,因此空(4)应填dp->drawLine(x1,y1,x2,y2)。空(5)显然是基类构造函数,应填Shape(dp)。
转载请注明原文地址:https://jikaoti.com/ti/bUi7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
针对程序段:IP(A||B||C)THENW=W/X,对于(A,B,C)的取值,(57)测试用例能够满足MCDC(修正条件逻辑判定)的要求。
对一段信息生成消息摘要是防止信息在网络传输及存储过程中被篡改的基本手段,()不属于生成消息摘要的基本算法。
软件可靠性管理把软件可靠性活动贯穿于软件开发的全过程,成为软件工程管理的一部分。确定软件的可靠性目标在()阶段。
错误管理的流程可以概括为:测试人员提交新的错误入库,错误状态为1,高级测试人员验证错误,如果确认是错误,分配给相应的开发人员,设置状态为2,如果不是错误,则拒绝,设置为“拒绝”状态:开发人员查询状态为3的错误,做如下处理:如果不是错误,则置状态为“拒绝”,
对于逻辑表达式(bufc[i]>223&&bufc[i]<240&&i+2<totalbytes),需要______个测试用例才能完成条件组合覆盖。
下图是责任链设计模式的类图,该设计模式的目的是________。该图中,Handler和Handler之间是关联关系,Handler和ConcreteHandler之间是继承关系。
以下关于CPU与I/O设备交换数据所用控制方式的叙述中,正确的是_______。
CPU执行指令时,先要根据程序计数器将指令从内存读取出并送入______,然后译码并执行。
阅读以下说明,回答问题1至问题4,将解答填入答题纸的对应栏内。[说明]A公司用1台Web服务器和1台应用服务器来管理销售信息。销售人员在办公室时通过PC机来访问应用服务器,若在公司以外,则通过具有数据显示功能的移动电话或PDA(Perso
阅读以下说明,回答问题1~5。[说明]SSL(SecureSocketLayer)是目前解决传输层安全问题的一个主要协议,其设计的初衷是基于TCP协议之上提供可靠的端到端安全服务,SSL的实施对于上层的应用程序是透明的。应用SSL协议最广泛
随机试题
在我国,确认土地承包经营权的主要依据是()。
Guthrie细菌生长抑制试验
Thebirdfluvirusismutatingandbecomingmoredangeroustomammals,accordingtoresearchers.Thediscoveryreinforcesfears
A.压缩骨折B.横行骨折C.斜行骨折D.粉碎骨折E.嵌插骨折骤然跪倒髌骨着地发生的髌骨骨折是
放射生物作用引起DNA和蛋白质构造变化的阶段是
孙某早年与妻子吕某离婚,儿子小强随吕某生活。小强15岁时,其祖父去世,孙某让小强参加葬礼。小强与祖父没有感情,加上吕某阻挡,未参加葬礼。从此,孙某就不再支付小强的抚养费用。吕某和小强向当地法院提起诉讼,请求责令孙某承担抚养费。在法庭上,孙某提出不承担抚养费
下列( )种组合能较全面而准确地表达投标报价的基本原则。Ⅰ、要保护投标方的经济利益Ⅱ、充分利用已有现场资料,优选经济合理的方案Ⅲ、详细研究分析招标文件中双方经济责任,根据承包方式,做到“内细算外粗报”,进行综合归纳Ⅳ、报价
随着人们生活水平的不断提高,越来越多的人开始外出旅游。如果在户外无定位的专门仪器,可借助地物来判定方向。下列是判断方位的方法,其中描述不正确的是()。
周某为了庆祝自己的18岁生日,与吴某达成了购买吴某饲养的波斯猫的合同,周某支付了价款,合同还约定,在周某生日的当天,吴某应亲自将波斯猫交付给周某。在周某生日那天,吴某带着波斯猫去周某家的路上不慎将波斯猫丢失。当日,陈某发现波斯猫后甚为喜欢,便带至家中细心喂
交换机命令可使用缩写形式,在Switch#模式下,键人con,则表示——。
最新回复
(
0
)