首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C++代码,将应填入(n)处的字句写在对应栏内。 [说明] 在一些大型系统中,大多数的功能在初始化时要花费很多时间,如果在启动的时候,所有功能(包括不用的功能)都要全面初始化的话,会导致应用软件要花很多时间才能启动。因此常
阅读下列函数说明和C++代码,将应填入(n)处的字句写在对应栏内。 [说明] 在一些大型系统中,大多数的功能在初始化时要花费很多时间,如果在启动的时候,所有功能(包括不用的功能)都要全面初始化的话,会导致应用软件要花很多时间才能启动。因此常
admin
2010-12-17
75
问题
阅读下列函数说明和C++代码,将应填入(n)处的字句写在对应栏内。
[说明]
在一些大型系统中,大多数的功能在初始化时要花费很多时间,如果在启动的时候,所有功能(包括不用的功能)都要全面初始化的话,会导致应用软件要花很多时间才能启动。因此常将程序设计成到了实际要使用某种功能的阶段才初始化该功能。
以下示例展示了Proxy(代理)模式,PrinterProxy类执行一些比较“轻”的方法,需要真正执行“重”的方法时才初始化Print类。图5-1显示了各个类间的关系。
[图5-1]
[C++代码]
class Printable{
public:
virtual void setPrinterName(string name)=0;
virtual string getprinterName()=0;
virtual void print(string name)=0;
};
class Printer:public Printable{
private:
string name;
public:
Printer(string name){
cout<<"正在产生Printer的对象实例"<<endl;
this->name=name;
}
void setPrinterName(string name){
this->name=name;
}
string getPrinterName(){
return name;
}
void print(string msg){
cout<<"======="<<name<<"==========="<<endl;
cout<<msg<<endl;
}
};
class printerproxy :public (1) {
private:
String name;
Printer *real;
public:
PrinterProxy(string name){
(2)=NULL;
this->name=name;
}
void setPrinterName(string name){
if((3))real->setPrinterName(name);
this->name=name;
}
string getPrinterName(){
return name;
}
void print(string msg){
(4);
real->print(msg);
}
void realize(){
if(real==NULL)real=(5);
}
};
(5)
选项
答案
new Printer(name)
解析
由类图可知PrinterProxy类是Printable的子类,因此应声明为继承自Printable,故空(1)应填Printable。
real是一个Printer对象指针,应该进行初始化,初始化工作是在构造函数中完成的,若不进行初始化的话,realize()方法将不可预期,故空(2)应填real。
real是一个指针,调用之前当然得先判断real是否为空指针,只有不是空指针才能进行调用,否则将出现不可预期的结果,因此空(3)应填real!=NULL。
在执行打印时,需要保证已经正确生成了real对象,否则打印将无法完成,这也正是Proxy的核心所在,到真正需要打印时,才生产real对象,因此空(4)应填realize()。
real是Printer对象指针,空(5)是生成一个Printer对象,注意Printer类的构造函数是Printer(string name),故应填new Printer(name)。
转载请注明原文地址:https://kaotiyun.com/show/NqDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某算术表达式用二叉树表示如下,该算术表达式的中缀式为________________,其后缀式为________________。
假设关系R1和R2如下图所示:若进行R1R2运算,则结果集分别为(1)元关系,共有(2)个元组。(2)
李某大学毕业后在M公司销售部门工作,后由于该公司软件开发部门人手较紧,李某被暂调到该公司软件开发部开发新产品,2周后,李某开发出一种新软件。该软件著作权应归(11)所有。
程序计数器(PC)是_______中的寄存器。
某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取出产品销售。假设仓库可存放n件产品。用PV操作实现他们之间的同步过程如下图所示。其中,信号量S是一个互斥信号量,初值为(1);S1是一个(2);S2是一
系统功能测试过程中,验证需求可以正确实现的测试用例称为(32)。
某应用系统采用防火墙技术来实现安全防护,在进行安全防护测试时,设计的测试点不包括______。
下面关于漏洞扫描系统的叙述,错误的是(7)。
测试记录包括、(64)。①测试计划或包含测试用例的测试规格说明。②测试期间出现问题的评估与分析。③与测试用例相关的所有结果,包括在测试期间出现的所有失败。④测试中涉及的人员身份。
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
随机试题
改进党的领导方式,要坚持()这一根本领导制度,坚持()这一基本领导方法,坚持()这一基本领导方式。
试比较产品多样化和产品差异化在性质上的同点。
女性,66岁,陈旧性前壁心肌梗死2年。突感心悸,伴头晕,血压80/60mmHg,立即做心电图,QRS波时限<0.12s,频率196次/分,每个QRS波群后可见逆行P波,RP间期0.14s,P波在Ⅱ、Ⅲ、aVF导联倒置,Ⅰ、aVL导联直立。该疾病的根治方
芡实的功效是五倍子的功效是
功效为清热燥湿,泻火解毒。用于湿热痞满,呕吐吞酸,泻痢,黄疸,高热神昏,心火亢盛,心烦不寐,血热吐衄,目赤,牙痛,消渴,痈肿疔疮;外治湿疹,湿疮,耳道流脓。请回答下列问题:上述药物的主要成分是
20世纪40年代,弗洛伊德的理论广为流传,使儿童的()问题也进入了教育心理学领域。
假设消费者在T年(退休前)时预计到退休后每年可得额外的退休金10000元,则根据生命周期假说,该消费者与原来相比较,将()。
下列各项中,使放弃现金折扣成本提高的情况有()。
在Internet 中,负责选择合适路由,使发送的数据分级(packet)能正确无误地按照地址找到目的站并交付给目的站所使用的协议是______。
Itiscommonlyheldthatdrinkingmoderateamountsofalcoholcanreducetheoddsofhavingadeadlyheartattack.More【B1】_____
最新回复
(
0
)