首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和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
47
问题
阅读以下说明和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://kaotiyun.com/show/naDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
对一段信息生成消息摘要是防止信息在网络传输及存储过程中被篡改的基本手段,()不属于生成消息摘要的基本算法。
软件可靠性管理把软件可靠性活动贯穿于软件开发的全过程,成为软件工程管理的一部分。确定软件的可靠性目标在()阶段。
以下关于建立良好的程序设计风格的叙述中,正确的是()。
一个程序的控制流图中有5个结点,8条边,在测试用例数最少的情况,确保程序中每个可执行语句至少执行一次所需要的测试用例数的上限是_______。
由于操作系统升级而对软件进行修改的行为属于________维护。
以下关于数据流图的基本要素的叙述中,不正确的是_______。
若系统中有4个互斥资源R,当系统中有2个进程竞争R,且每个进程都需要i个R(i≤3)时,该系统可能会发生死锁的最小i值是________。
假设系统有n(n≥5)个并发进程,它们竞争互斥资源R。若采用PV操作,当有3个进程同时申请资源R,而系统只能满足其中1个进程的申请时,资源R对应的信号量s的值应为_______。
阅读以下说明,回答问题1~5。[说明]SSL(SecureSocketLayer)是目前解决传输层安全问题的一个主要协议,其设计的初衷是基于TCP协议之上提供可靠的端到端安全服务,SSL的实施对于上层的应用程序是透明的。应用SSL协议最广泛
随机试题
绒毛膜促性腺激素的分泌量达高峰的时间
完成10m3砖墙需消耗砖净用量10000块,有500块的损耗量,则材料损耗率和材料消耗定额分别为()。
岩石的吸水率是指()。
[背景]某甲级工程监理公司于2005年6月中旬几乎同时承接了A,B两项工程施工阶段全方位监理任务。A工程为一幢智能化办公楼,由1家国有特级施工企业承包;B工程由4个各具特色的单项工程(B1—B4)组成,分别由4家国有一级施工企业承包。该监理公司目前可供安
中医博大精深,下列药用植物中,不属于以根茎人药的是()。
教育者和受教育者在教育活动中承担的任务不同,但相对于其它因素而言,都在教育活动中处于()。
(03年)已知一批零件的长度X(单位:cm)服从正态分布N(μ,1),从中随机地抽取16个零件,得到长度的平均值为40cm,则μ的置信度为0.95的置信区间是__________.(注:标准正态分布函数值φ(1.96)=0.975,φ(1.645)=0
A、 B、 C、 C
Readthefollowingarticleandchoosethebestwordforeachspace.Forquestions26-45,markoneletterA,B,CorDonyou
Themassmediaisabigpartofourculture,yetitcanalsobeahelper,adviserandteachertoouryounggeneration.Themass
最新回复
(
0
)