首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和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
42
问题
阅读以下说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
以下关于信息和数据的描述中,错误的是________________。
软件可移植性应从如下(46)方面进行测试。
某公司使用包过滤防火墙控制进出公司局域网的数据,在不考虑使用代理服务器的情况下,下面描述错误的是“该防火墙能够(9)”。
(63)不属于网站渗透测试的内容。
下图是①设计模式的类图,该设计模式的目的是②,图中,Abstraction和RefinedAbstraction之间是③关系,Abstraction和Implementor之间是④关系。④处应填入?
网络杀毒软件厂商已经开始使用数据库技术和LDAP技术进行策略日志存储和用户管理,这里LDAP指的是______。A.轻量目录访问协议B.本地目录访问协议C.轻量数据访问协议D.本地数据访问协议
下图是________________设计模式的类图,该设计模式的目的是________________,图中,Decorator和Component之间是________________关系,ConcreteDecorator和Decorator之间是_
下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的权重表示活动的持续时间(天),则里程碑C在关键路径上。在其他活动按时完成的情况下,活动FJ最多可以晚_______天开始而不影响工期。
某银行信用卡额度关系C(信用卡号,用户名,身份证号,最高消费额度,累计消费额)中,信用卡号唯一标识关系C的每一个元组。一个身份证只允许办理一张信用卡。关系C有_________。
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持根据说明中inittab文件的内容,系统引导成功后,工作在______状态。A.单用户字符模式
随机试题
面粉中的淀粉包括直链淀粉、支链淀粉和_______。
“美是生活”是______提出来的。()
TheCMRconventiononlyacceptsbycountriesin()
根据国家有关法律、法规规定实行进出境管理的特殊单证。下列报关单证中属于特殊单证的是()。
某企业为增值税一般纳税人,2016年5月1日至5月31日销售白酒50吨,主营业务成本为600000元,企业农产品耗用率为85%。当期从农民手中收购用于生产白酒的大麦,收购发票上注明买价62000元。按照成本法,该企业当期准予抵扣的进项税额为()元。
在杠杆租赁的情况下,如果出租人不能按期偿还借款,那么资产的所有权就要转归资金出借者。()
甲公司和乙公司双方签订买卖合同,甲公司向乙公司购人价值100万元的货物用于试制新产品,承诺3个月后付款。甲公司应乙公司的要求,请A公司和B公司作担保人。其中,A公司以自有的一套加工设备提供抵押担保,B公司提供保证担保。乙公司向甲公司按期供货后,甲公司为筹集
A和B注册会计师负责对x公司2011年度财务报表进行审计,并确定财务报表层次的重要水平为l200000元。x公司2011年财务报告于2011年3月25日获董事会批准,并于同日报送证券交易所。其他相关资料如下: 资料一:x公司未经审计的2011年度财务报表
党的十八届四中全会决定进一步要求提高党员干部(),并把法治建设成效作为衡量各级领导班子和领导干部工作实绩的重要内容,纳入政绩考核指标体系。
全口牙中哪些牙不是一牙对二牙的接触关系()。
最新回复
(
0
)