首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包
阅读下列函数说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包
admin
2014-10-11
103
问题
阅读下列函数说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。
【说明】
在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder类规定组成文件的方法,Director类利用这个方法产生一份具体的文件。图5—1显示了各个类间的关系。
【图5—1】
以下是C++语言实现,能够正确编译通过。
【C++代码】
ClasS Buiider{
publiC:
virtual void makeTitle(string title)=0;
virtual void makeString(string str)=0;
virtual void makeItems(1)items)=0;
virtual string getResult()=0;
};
ClasS Director{
private:
(2)buiider;
public:
Director(Buiider*buiider){
thiS一>buiider=buiIder;
}
string construct(){
vector
items;
items.push—back(“早安”);items.push—back(“午安”);
buiider一>makeTitle(“Greeting”);
bui Ider一>makeString(“从早上到白天结束”);
buiider一>makeItems(items);
buiIder一>makeString(“到了晚上”);
(3)//清空items向量
items.push—back(“晚安”);items.push—back(”好梦”);
buiIder一>makeItems(items);
return buiider一>getResult();
}
};
class TextBuiider:public (4) {
private:
String buffer;
publiC:
TextBuiider(){
buffer=**;
}
void makeTitle(String title){
buffer += ”=====:=================================\n”;
buffer+=“[“+title+”]\n”;
buffer+=“\n”;
}
void makeString(string str)(
buffer+=”■” +Str+“\n”;
buffer+=“\n”:
}
void makeItems(vector
items){
vector
::iterator it;
for(it=items.begin();it!=items.end();it++){
buffer+=“.”+‘it+“\n”;
}
buffer+=“\n”;
}
string getResult(){
buffer+= “=====================\n”;
return buffer;
}
};
int main()
{
Director*director=new Director(new TextBuilder());
string result=(string)director一>(5);
cout<
return 0;
}
选项
答案
(1)vector
(2)Builder* (3)items.clear() (4)Builder (5)construct()
解析
首先来看空(2),由名字可猜想builder是一个Builder类对象,由构造函数中的语句this一>builder=builder;及形参声明Builder*builder,可判知空(2)应填Builder*。由注释可知空(3)是用来清空iterns向量的,items是一个vector
对象,此处并未提供清空方法,应该是调用库函数,故应调用items.clear()。现在来看空(1),由语句builder一>makeltems(iterns);及vector
items;可知,空(1)应填vector
。继续看空(4),由类图知,TextBuilder是Builder的子类,因此此处应填Builder,声明继承关系。空(5)是真正进行文件的构造,应填construct()。事实上,Director类仅提供了该方法,自然是调用该方法。
转载请注明原文地址:https://kaotiyun.com/show/G4DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
函数main()、f()的定义如下所示。调用函数f()时,第一个参数采用传值(callbyvalue)方式,第二个参数采用传引用(callbyreference)方式,main()执行后输出的值为_______。
某计算机系统页面大小为4K,进程P的页面变换表如下表所示。若P中某数据的逻辑地址为十六进制2C18H,则该地址的页号和页内地址分别为2和C18H;经过地址变换后,其物理地址应为十六进制______。
甲怀疑乙发给他的信息已遭人篡改,同时怀疑乙的公钥也是被人冒充的。为了消除甲的疑虑,甲、乙需要找一个双方都信任的第三方,即______来签发数字证书。
[配置路由器信息]Currentconfiguration:!version11.3noservicepassword-encryption!hostnamerouter1
在应用服务器关机的情况下,公司员工能连接上因特网吗?简要解释。在路由器和ISDN之间需要加入终端适配器(TA)吗?试说明在什么情况下需要加入TA。
目前,通过移动电话接人互联网采用的主要技术是什么?进行一次查询的数据信息如表9-1所示,网络的基本通信服务费用如表9-2所示,总费用=网络租用费+通信费。根据表中给出的数据,试计算销售员每月至少应进行多少次查询,才能使得使用移动电话的总费用比使用PDA
阅读以下说明,回答问题1~5。[说明]SSL(SecureSocketLayer)是目前解决传输层安全问题的一个主要协议,其设计的初衷是基于TCP协议之上提供可靠的端到端安全服务,SSL的实施对于上层的应用程序是透明的。应用SSL协议最广泛
网络设计流程通常由以下五个阶段组成:A.确定网络物理结构B.确定网络逻辑结构C.对现有网络的体系结构进行分析D.安装和维护E.需求分析根据网络开发设计的过程,给出上述五个阶段的先后排序:(1)。为上
某交换机的配置命令如下,根据命令后面的注释,填写(1)~(3)处的空缺内容,完成配置命令。Switch(config)#(1)//将交换机命名为Sw1Swl(config)#interfacevlan1Swl(config
某交换机的配置命令如下,根据命令后面的注释,填写(1)~(3)处的空缺内容,完成配置命令。Switch(config)#(1)//将交换机命名为Sw1Swl(config)#interfacevlan1Swl(config
随机试题
男孩,5个月,突然发生呼吸困难,肝脏肿大,肺部无细湿啰音,X线示心脏左心室增大明显,左心缘搏动减弱,诊断为心内膜弹力纤维增生症。该病例进行下列实验室检查,其中哪项是不正确的
2013年3月至2014年4月间,邓某、殷某等人为谋取利益,在自己不具备收集、贮存、利用、处置化工企业生产过程中所产生危险废物的资质和能力的情况下,先后以某市J化工有限公司等单位的名义,承揽收集、贮存、利用、处置C农化有限公司等6家化工企业产生的废硫酸等危
评价者根据某一标准将每一名员工与其他员工进行逐一比较,两两比较,并将每一次比较中的优胜者选出。最后,根据每一名员工得胜次数的多少进行排序。这指的是绩效考核方法中的【】
世界上成立的第一个消费者组织,在
早期就有全身感染中毒症状的直肠肛管感染是
A.45°B.60°C.50°D.80°E.20°颈段后伸角度是
A公司2019年1月1日开始推行一项奖励积分计划。根据该计划,客户在A公司每消费1元可获得1个积分,每100个积分可抵现金1元。2019年共发生符合条件的销售额2000万元,相应积分为2000万分;A公司预计将有100%的积分被使用。当年没有客户使用所授予
425×(3213-3189)+24×25=()。
下列关于“十三五”时期经济社会发展的基本理念的表述不正确的是:
Shynessisthecauseofmuchunhappinessforagreatmanypeople.Shypeopleareanxiousandself-conscious;thatis,theyaree
最新回复
(
0
)