阅读以下说明和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
请问《西城道中》诗句前两句是写的是什么时间的景色,后两句写的是什么时间的景色? 语文 2020-05-14 …
描写榕树的精神诗句有哪些?额...是这样的,我是一名小学生,老师叫我们写校园的一处景物,我选择榕树 语文 2020-05-14 …
写花的作文600字,有总分总有优美的语句!写的作文可以像季羡林写的夹竹桃或陈荒煤写的广玉兰赞的写法 语文 2020-05-16 …
在黄鹤楼崔颢中句写的是近景,句写的是远景,句是写日景,写远景. 语文 2020-06-07 …
《雨晴》王驾后两句写的饶有趣味,请作具体赏析雨前初见花间蕊,雨后全无叶底花.蜂蝶纷纷过墙去,却疑春 语文 2020-06-12 …
马诗唐李贺大漠沙如雪燕山月似钩何当金络脑快走踏清秋诗的前两句写的是什么景象?后两句写诗人所().接 语文 2020-06-20 …
1.《黄鹤楼》这首诗以黄鹤楼为立足点进行描绘,诗句如同电影镜头的切换,其中()句写的是近景,()句 语文 2020-06-23 …
江南春前两句写的是____的景色,后两句写的是____景色 语文 2020-06-26 …
梦游天姥吟留别,逐句翻译每句,写的是什么?写了什么景色?用了什么手法? 语文 2020-06-27 …
有首词其中有句写的是骑马去郊游归来马蹄带花香的请问各位大虾是什么词有首词其中有句写的是骑马去郊游归 语文 2020-07-05 …