首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和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
26
问题
阅读以下说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
瀑布模型表达了一种系统的、顺序的软件开发方法。以下关于瀑布模型的叙述中,正确的是(17)。
对一段信息生成消息摘要是防止信息在网络传输及存储过程中被篡改的基本手段,()不属于生成消息摘要的基本算法。
以下关于数据流图的叙述中,不正确的是______。
在分层体系结构中,控制层接收用户的请求并决定调用哪个模型去处理该请求,以及确定选择哪个视图来显示返回的数据。在基于JavaEE平台开发的软件系统中,常用_________技术来实现该层。
以下________不是敏捷开发方法Scrum的步骤。
给出关系R(A,B,C)和S(A,B,C),R和S的函数依赖集F={A→B,B→C}。若R和S进行自然连接运算,则结果集有3个属性。关系R和S________。
在C程序中,设有“inta=3,b=2,c=1;”,则表达式a>b>c的值是_________。
假设系统有n(n≥5)个并发进程,它们竞争互斥资源R。若采用PV操作,当有3个进程同时申请资源R,而系统只能满足其中1个进程的申请时,资源R对应的信号量s的值应为_______。
以下描述中,属于通用操作系统基本功能的是_______。
阅读以下说明和交换机的配置信息,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明]某公司设3个部门,为了便于管理,每个部门组成1个VLAN,公司网络结构如图9-4所示。[交换机Switch1的部分配置信息]Switch
随机试题
以下说法正确的有
Scientistshavebeenstrugglingtofindoutthereasonbehindblushing(脸红).Whywouldhumansevolve(进化)a【C1】____thatputsus
有效焦点大小在摄影时的变化规律为
下列与麻黄的发汗作用有关的是()
切面皮部墨绿色,木部黄褐色,可见放射状排列的导管束,此药材是()。
2016年12月1日,甲公司向乙公司签发一张支票,乙公司将该支票背书转让给丙公司,丙公司又将该支票背书转让给丁公司;2016年12月5日,丁公司向付款银行提示付款被拒绝。有关丁公司行使票据追索权的期限,下列说法不符合票据法律制度规定的是()。
特困人员供养是我国社会救助体系的重要组成部分,主要采取在当地供养机构集中供养或在家分散供养两种方式。下列问题中,属于特困供养的是()。
下列关于共同犯罪人的种类及其刑事责任的说法中,正确的是()。
他每年都在国外______很长时间。
Duetopersonality______,thetwocolleaguesnevergotonwellinwork.
最新回复
(
0
)