阅读以下说明和C++代码,将应填入(n)处的字句写上。 [说明] 现有一个显示系统,要显示的图形有线L
阅读以下说明和C++代码,将应填入(n)处的字句写上。
[说明]
现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一个Shape类(接口),有方法显不display()。
需要新增图形Circle,又已知有类XXCircle实现了所需要实现的功能:显示displayIt()。为了继承自shape以提供统一接口,又不希望从头开发代码,希望使用XXCircle。这样将XXcircle作为Circle的一个属性,即Circle的对象包含一个XXCircle对象。当一个Circle对象被实例化时,它必须实例化一个相应的XXCircle对象: Circle对象收到的做任何事的请求都将转发给这个XXCircle对象。通过这种称为Adapter模式,Circle对象就可以通过“让XXCircle做实际工作”来表现自己的行为了。图6-1显示了各个类间的关系。以下是C++语言实现,能够正确编译通过。
[图6-1]
[C++代码]
class Shape{
public:
(1) void display()=0;
};
class Line:public Shape{//省略具体实现
};
class Square:public Shape{//省略具体实现
};
class XXCircle{
public:
void displayIt(){
//省略具体实现
}
//省略其余方法和属性
};
class Circle:public Shape{
private:
XXCircle *pxc;
public:
Circle();
void display();
};
Circle::Circle(){
pxc=(2);
}
void Circle::display()
{
pxc->(3);
}
class Factory{
public:
(4) getshapeInstance(int type){//生成特定类实例
switch(type){
case 1:return new Square;
case 2:return new Line;
case 3 :return new Circle;
default:return NULL;
}
}
};
void main(int argc,char*argv[]){
if(argc !=2){
cout<<"error parameters!"<<endl;
return;
}
int type=atoi(argv[1]);
Factory factory;
Shape*s=factory. (5);
if(s==NULL){
cout<<"Error get the instance!"<<endl;
return;
}
s->display();
delete s;
return;
}
(1)
virtual
当when引导时间状语从句的时态问题主句是现在进行时过去进行时过去完成时现在完成时将来进行时将来时 英语 2020-05-13 …
关于主将从现有些问题...--Sheaskedyouwhenagain?--Tellherthat 英语 2020-05-13 …
主将从现- -那if从句和主句有单三也是主句将来时从句一般现在时- -吗- -单三是一般现在时的吗 英语 2020-05-14 …
关于将相和的4个问题练习册上有一题是“读句子,悟人物特点”列:我所以避着廉将军,为的是我们赵国呀! 语文 2020-05-16 …
关于si引导的法语条件从句,什么情况下表示与事实相反,什么情况下表示可能性小si引导的条件从句1) 其他 2020-06-02 …
主将从现的“现”必须是一般现在时么?ifyouareridingabikeinthestreet, 英语 2020-06-22 …
用“/”标出下面句子的朗读节奏,标两处.执策映长明灯读之用现代汉语用“/”标出下面句子的朗读节奏, 语文 2020-06-27 …
afterbefore当主句用将来时,他们两个都是从句是用现在时吗?after和before当主句 英语 2020-06-28 …
语文课内阅读题读《将相和》第八、九自然段,找出能体现蔺相如的勇敢和机智的句子,并说说为什么?好的20 语文 2020-12-13 …
主从时态一致的问题我知道主从事态一致就是主句是现在从句也是现在过去也是过去但是如果在没有时间状语的情 英语 2021-01-13 …