首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++代码, [说明] 现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实
阅读以下说明和C++代码, [说明] 现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实
admin
2013-01-05
38
问题
阅读以下说明和C++代码,
[说明]
现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DP1还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图6-1显示了各个类间的关系。
[图6-1]
这样,系统始终只处理3个对象:Shape对象、Drawingg对象、DP1或DP2对象。以下是C++语言实现,能够正确编译通过。
[C++代码]
class DP1{
public:
static void draw_a_line(double x1,double y1,double x2,double y2){
//省略具体实现
}
};
class DP2{
public:
static void drawline(double x1,double x2,double y1,double y2){
//省略具体实现
}
};
class Drawing{
public:
(1) void drawLine(double x1,double y1,double x2,double y2)=0;
};
class V1Drawing:public Drawing{
public:
void drawLine(double x1,double y1,double x2,double y2){
DP1::draw_a_line(x1,y1,x2,y2);
}
};
class V2Drawing:public Drawing{
public:
void drawLine(double x1,double y1,double x2,double y2){
(2)
}
};
class Shape{
privatc:
(3) dp;
public:
Shape(Drawing*dp);
virtual void draw()=0;
void drawLine(double x1,double y1,double x2,double y2);
};
Shape::Shape(Drawing*dp)
{
_dp=dp;
}
void Shape::drawLine(double x1,double y1,double x2,double y2)
{ //画一条直线
(4);
}
class Rectangle:public Shape{
privatc:
double_x1,_y1,_x2,_y2;
public:
Rectangle(Drawing *dp,double x1,double y1,
double x2,double y2);
void draw();
};
Rectangle::Rectangle(Drawing*dp,double x1,double y1,double x2,double y2)
: (5)
{
_x1=x1;_y1=yl;_x2=x2;_y2=y2;
}
void Rectangle::draw()
{
//省略具体实现
}
(5)
选项
答案
Shape(dp)
解析
显然是基类构造函数,应填Shape(dp)。
转载请注明原文地址:https://kaotiyun.com/show/AeDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
下面①~④是关于软件评测师工作原则的描述,正确的判断是(38)。①对于开发人员提交的程序必须进行完全的测试,以确保程序的质量。②必须合理安排测试任务,做好周密的测试计划,平均分配软件各个模块的测试时间。③在测试之前需要与开发人员进行详细的交流,明确开
以下关于结构化开发方法的叙述中,不正确的是()。
系统响应时间和作业吞吐量是衡量计算机系统性能的重要指标。对于一个持续处理业务的系统而言,其(4)。
由于不同加密机制的用途及强度不同,因此一个信息系统中加密机制使用是否合理,强度是否满足当前需要,需要通过测试来检验,通常()是测试的一个重要手段。
CPU执行指令时,先要根据程序计数器将指令从内存读取出并送入______,然后译码并执行。
阅读以下说明和交换机的配置信息,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明]某公司设3个部门,为了便于管理,每个部门组成1个VLAN,公司网络结构如图9-4所示。[交换机Switch1的部分配置信息]Switch
造成故障1的原因是什么?如何解决?1.路由器2上采用了NAT技术。NAT中的动态地址翻译和IP地址伪装有什么区别?2.图4-2是路由器2上的地址伪装表,将图4-2中(1)~(5)处空缺的信息填写在相应位置。
阅读以下说明,回答问题1至问题3。[说明]某公司规模扩大,既要考虑保证目前土建装修的效果不被破坏,又要满足网络扩容和企业工作实际需求,同时还要保证投资不要过大。经过深入分析和研究对比,决定采用无线局域网组网来解决网络扩容的问题,网络拓扑如图1-1
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持根据说明中inittab文件的内容,系统引导成功后,工作在______状态。A.单用户字符模式
阅读下列说明和C程序,将应填入(n)处的字句写在对应栏中。[说明]借助一个栈结构,可实现二叉树的非递归遍历算法。InOrderTraverse数实现中序非递归遍历,遍历过程如下:若不是空树,根节点入栈,进入左子树;若已
随机试题
使用“设计”选项卡的“背景样式”命令可以改变幻灯片的背景。()
水痘患儿应隔离至
A供气公司位于N省B市C县工业园区内,有员工225人,法定代表人为甲。甲认为,公司员工不足300人,没有必要设置安全生产管理部门,也没有必要配备专职安全生产管理人。公司技术人员乙于2010年通过了全国注册安全工程师执业资格考试,但未注册。乙被甲任命为公司兼
下列关于欺诈发行股票、债券罪客观要件的说法中,错误的是()。
甲公司与乙公司签订买卖合同后,为了支付价款,甲公司签发了一张以乙公司为收款人的银行承兑汇票,公司财务经理签字,并加盖了公司的合同专用章。承兑人丙银行的代理人签字并加盖了银行的汇票专用章。乙公司背书转让给丁公司后,丁公司在票据到期时向丙银行请求付款。根据票据
在内部控制审计中,注册会计师应当对期末财务报告流程进行评价。以下内容不属于期末财务报告流程的内容的是()。
关于持有待售类别和终止经营的列报,下列表述中错误的是()。
简述中学德育的途径。
已知A,B,C的坐标分别是A(3,0),B(0,3),C(cosα,sinα).若的值.
A-----actionadvertisingJ------magazineadvertisingB-----airportadvertisingK-----neonlightadvertising
最新回复
(
0
)