首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(2013年下半年下午试题五)阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表10.4所示。 根据绘图软件
(2013年下半年下午试题五)阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表10.4所示。 根据绘图软件
admin
2018-07-27
33
问题
(2013年下半年下午试题五)阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表10.4所示。
根据绘图软件的扩展性要求,该绘图软件将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况,现采用桥接(Bridge)模式来实现上述要求,得到如图10.15所示的类图。
【C++代码】
Class DP1{
public:
static void draw a line(double x1,double y1,double x2,double y2){/*代码省略*/}
static void draw a circle(double x,double y,double r){/*代码省略*/{
};
class DP2{
public:
static void drawline(double x1,double x2,double y1,double y2){/*代码省略*/{
static void drawcircle(double x,double y,double r){/*代码省略*/{
},
class Drawing{
public:
____(1);
______(2);
};
class V1Drawing:public Drawing {
public:
void drawLine(double x1,double y1,double x2,double y2){/*代码省略*/}
void drawCircle(double x,double y,double r){ _____(3);}
};
class V2Drawing:public Drawing{
public:
void drawLine(double x1,double y1,double x2,double y2){/*代码省略*/}
void drawCircle(double x,double y,double r){ _____(4);}
};
class Shape{
public:
______(5)l
Shape(Drawing*dp){dp=dp;}
void drawLine(double x1,double y1,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{
public:
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(_x,_y,r);}
};
选项
答案
(1)virtual void drawLine(double x1,double y1,double x2,double y2) (2)virtual void drawCircle(double x,double y,double r) (3)DP1.draw_a circle(x,y,z) (4)DP2.drawcircle(x,y,z) (5)virtual void draw()(6)Shape(dp)
解析
本题考查桥接模式的概念及应用。桥接模式将抽象与其实现解耦,使它们都可以独立地变化。也就是说,将一组实现与另一组使用它们的对象分离。这里的实现指的是抽象类及其派生类用来实现自己的对象(而不是抽象类的派生类,这些派生类被称为具体类)。
本题中,Drawing是一个虚拟基类,里面包含了希望不同策略实现的算法。派生类V1Drawing、V2Drawing都派生自Drawing,对基类中希望实现的算法都做了具体实现,且它们都含有drawLine和drawCircle函数,所以Drawing类中缺失的应该是这两个算法,于是空(1)处应填入virtual void drawLine(double x1,double y1,double x2,double y2,空(2)处应填入virtual void draw Circle(double x,double y.double r)。DP1和DP2中包含了绘制Line和Circle的具体实现的static方法,因此在V1Drawing、V2Drawing类中可以直接进行调用,所以空(3)处应填入DP1.draw a circle(x,y,z),空(4)处应填入DP2.drawcircle(x,y,z)。Shape类派生出Rectangle和Circle类,里面都含有draw方法,但是具体draw方法的实现却不相同,所以空(5)处应填入virtual void draw()。最后Circle的构造函数初始化了后四个变量,还有继承自Shape的变量*dp未做初始化,因此调用Shape的构造函数做初始化,即空(6)处应填入shape(dp)。
转载请注明原文地址:https://kaotiyun.com/show/mzxZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下有关网络设备安装与调试的叙述,分析设备配置文件,回答问题1~3。虚拟局域网(VirtualLAN)是与地理位置无关的局域网的一个广播域,由一个工作站发送的广播信息帧只能发送到具有相同虚拟网号的其他站点,可以形象地认为,VLAN是在物理局域
目前,通过移动电话接入互联网所采用的主要技术是什么?公司网络中的设备或系统(包括存储商业机密的数据库服务器、邮件服务器,存储资源代码的PC、应用网关、存储私人信息的PC、电子商务系统)中,哪些应放在DMZ中,哪些应放在内网中?并请给予简要说明。
阅读以下说明,回答问题1~4。【说明】A公司用一台Web服务器和一台应用服务器来管理销售信息。销售人员在办公室时通过PC机来访问应用服务器,若在公司以外,则通过具有数据显示功能的移动电话或PDA(PersonalDigitalAssi
如何根据网络流量选择联网设备,给出所选设备的作用。在我国,目前可供选择大的用户选择的接入方式有哪些,各自的接入速率为多少?
如何根据网络流量选择联网设备,给出所选设备的作用。如何规划防火墙,将内部业务服务器和部分PC机与Internet隔离?
阅读以下关于网络应用系统可靠性分析方面的技术说明,根据要求回答问题1至问题4。【说明】可靠性是一个网络应用系统能正常工作的能力,一般用平均故障间隔时间(MTBF)来度量。某网络应用软件研发公司正在开发一个嵌入式实时应用软件——宽带路由器的NanO
认真阅读下列有关移动用户身份认证技术的说明,根据要求回答问题1至问题4。【说明】随着无线局域网技术、3G移动通信技术的不断发展,网络资源得到了更广泛的利用。由于移动环境下的通信链路比较容易受到恶意攻击或窃听,因此在移动节点与本地代理1之间交换的登
阅读以下关于FTTC宽带接入Internet的技术说明,根据要求回答问题1至问题5。【说明】光纤接入网(OpticalAccessNetwork,OAN)是以光纤为传输媒体,并利用光波作为光载波传送信号的接入网。FTTC+LAN是实现居民宽带
认真阅读以下实现VLAN间路由的配置技术说明,根据要求回答问题1至问题6。【说明】当交换机上的VLAN数量很多时,通常会采用路由器快速以太网子接,及IEEE802.1Q封装对VLAN间的数据进行路由。在如图3-12所示的拓扑图中,在交换机
随机试题
在美国,头颈部恶性肿瘤发病人数占全身恶性肿瘤的百分比大约是
瘤胃内的微生物可合成()。
故障树也称事故树,是一种描述事故()的有方向的树,是安全系统工程中的重要的分析方法之一。
下列地铁基坑围护结构中,止水性好的有()。
良好的投资习惯应该尽量()。
2019年8月8日,某县工商部门查获一起假冒服装销售行为,甲公司销售多种假冒名牌服装。为防止甲公司逃避处罚,执法人员要求甲公司当场缴纳2000元罚款。之后,执法人员告知甲公司,如果对处罚结果不服,可以向工商部门提出听证申请。根据上述资料,为下列问题从备选
请从所给的选项中,选出最适合的一个填入问号处,使之呈现一定的规律性。()
“抗大”教育属于()。
甲为摄影家乙充当女模特,双方未对照片的发表和使用作出约定。后乙将甲的裸照以人体艺术照的形式出版发行,致使甲受到亲朋好友的指责。乙的行为侵犯了甲的()。
下列有关宏的叙述中不正确的是()。
最新回复
(
0
)