首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和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
50
问题
阅读以下说明和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()
{
//省略具体实现
}
(1)
选项
答案
virtual
解析
由函数drawLine()结尾的“=0”易知,空(1)应填virtual。
转载请注明原文地址:https://kaotiyun.com/show/5eDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
计算机系统中,虚拟存储体系由______两级存储器构成。
针对下列程序段,对于(A,B,C)的取值,以下(56)测试用例组合能够满足语句覆盖的要求。IF((A+10)=2OR(B-20)<3)THENC=0IF((A+30)=10AND(C-30)<0)THENB=30
静态图像压缩标准JPEG2000中使用的是(60)算法。
下图是①设计模式的类图,该设计模式的目的是②,图中,Abstraction和RefinedAbstraction之间是③关系,Abstraction和Implementor之间是④关系。②处应填入?
运行Web浏览器的计算机与网页所在的计算机要建立(66)连接,采用(67)协议传输网页文件。
防火墙对数据包进行过滤时,不能过滤的是(9)________________。
下图是________________设计模式的类图,该设计模式的目的是________________,图中,Decorator和Component之间是________________关系,ConcreteDecorator和Decorator之间是_
CPU执行指令时,先要根据程序计数器将指令从内存读取出并送入______,然后译码并执行。
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?将Switcbl的端口6划入v2的配置命令如下,请给出空白处的配置内容:Switch1(config)#interfacefastEthemet0/6(进入端口6配置模式)S
阅读以下说明,回答问题1~7。[说明]下图是在网络中划分VLAN的连接示意图。VLAN可以不考虑用户的物理位置,而根据功能、应用等因素将用户从逻辑上划分为一个个功能相对独立的工作组,每个用户主机都连接在支持VLAN的交换机端口上,并属于某个VLA
随机试题
陈某与刘某二人达成如下协议:“双方如就祖传字画的继承权发生争议,则提交双方住所地以外的仲裁委员会(北京仲裁委员会)进行仲裁,并将自动履行裁决。”后双方果然在继承问题上发生争议,现双方解决争议的可行的法律途径是:
地下水环境现状调查与评价的范围以能说明()为原则,并应满足环境影响预测和评价的要求。
国家根据建设项目(),对建设项目的环境影响评价实行分类管理。
当利用S形曲线进行实际进度与计划进度比较时,如果检查日期实际进展点落在计划S形曲线的右侧,则该实际进展点与计划S形曲线的水平距离表示工程项目( )。
质量是一组固有()满足要求的程度。
计算机网络最大的价值在于资源共享。()
BeautyisbigbusinessinChina.Thecountry’scosmeticsmarketisworth$26billionayear,makingitthethird-biggestinthe
如果报表中没有页眉,则Access将显示时间的文本框添加到
组成CPU的主要部件是
Thequalityofpatiencegoesalongwaytowardyourgoalofcreatingamorepeacefulandlovingself.Themorepatientyouare,
最新回复
(
0
)