首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包
阅读下列函数说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包
admin
2014-10-11
98
问题
阅读下列函数说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
若系统中有4个互斥资源R,当系统中有2个进程竞争R,且每个进程都需要i个R(i≤3)时,该系统可能会发生死锁的最小i值是________。
阅读以下说明和交换机的配置信息,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明]某公司设3个部门,为了便于管理,每个部门组成1个VLAN,公司网络结构如图9-4所示。[交换机Switch1的部分配置信息]Switch
目前,通过移动电话接人互联网采用的主要技术是什么?公司网络中的设备或系统(包括存储商业机密的数据库服务器、邮件服务器、存储资源代码的PC机、应用网关、存储私人信息的PC机、电子商务系统)哪些应放在DMZ中,哪些应放在内网中?给予简要说明。
在由L2TP构建的VPN中,主要由①和②两种类型的服务器构成。1.将图5-1中①和②处空缺名称填写在答题纸的相应位置。2.简要说明两种服务器的主要作用。某路由器(在图5-1中没有标出)的部分配置信息如下所示,请解释其中标有下划线部分的含
造成故障1的原因是什么?如何解决?1.将故障2中(1)和(2)两处合适的答案填入答题纸相应的解答栏内。2.故障2如何解决?
阅读以下说明,回答问题1至问题6。说明ADSL是接入Internet的一种宽带技术。图2-1为一台带网卡的PC机采用ADSL接入Internet的网络结构图。
双绞线可以制作成直连线和交叉线两种形式。在上图中,两个交换机的UPLINK口相连,使用的双绞线制作成什么形式?连接交换机和计算机的双绞线制作成什么形式?阅读下面的配置信息,解释(5)处的命令。Switch#Switch#config
认真阅读下列说明信息,回答问题1至问题5。[说明]在一个基于TCP/IP协议的网络中,每台主机都有一个IP地址,根据获得IP地址的方式不同,可以分为静态IP和动态IP。例如:用宽带入网,会有一个固定的IP地址,每次连入Internet,你的IP地
某交换机的配置命令如下,根据命令后面的注释,填写(1)~(3)处的空缺内容,完成配置命令。Switch(config)#(1)//将交换机命名为Sw1Swl(config)#interfacevlan1Swl(config
在“管理工具”中运行“管理IP筛选器列表”,创建一个名为“SNMP消息”的筛选器。在如图12-3所示的“IP筛选器向导”中指定IP通信的源地址,下拉列表框中应选择(1);在如图12-4中指定IP通信的目标地址,下拉列表框中应选择(2)。在图
随机试题
2014年年末,某省公路里程172167千米,同比增长2.8%,其中,高速公路4237千米,同比增长3.3%。国家铁路正线延展里程和营业里程分别为15060千米和9351千米,分别同比增长-0.28%和0.23%。地方铁路正线延展里程和营业里程分别为180
不具备路由和跨网段操作功能的协议是()
额窦可显示于下列哪些体位片
过期流产的刮宫时机应在
下列行为违反了《建设工程勘察设计管理条例》的是()。
西南矿业公司产出的矿产原材料金属含量比较高,是富矿,在市场上的售价比其他矿高。目前冶炼产品的市场竞争激烈,从经济效益的角度来看,对自己的矿进行进一步冶炼再出售不合算,所以西部矿业决定停止加工冶炼业务,直接出售自己的矿,以获取更大的利润。这反映的风险管理工具
()是指采用一种预先设计的结构性表格,由考评者以文字的形式对员工的行为做出描述的考评方法。
教学与研究发现,学生解决抽象而不带具体情节的问题时比较困难,而解决具体而接近实际的问题时比较容易。()
根据下列材料回答问题。“十一五”期问,我国货物进出口总额累计116806亿美元。其中,出口总额63997亿美元.比“十五”期间增长1.7倍;进口总额52809亿美元,比“十五”期间增长1.4倍。“十一五”前两年,我国货物进出口总额保持23%以上的快速增
下列说法错误的是()。
最新回复
(
0
)