首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C++代码,回答问题 [说明] 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。 以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字
阅读下列函数说明和C++代码,回答问题 [说明] 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。 以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字
admin
2012-02-20
51
问题
阅读下列函数说明和C++代码,回答问题
[说明]
在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。
以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder类规定组成文件的方法,Director类利用这个方法产生一份具体的文件。图5-1显示了各个类间的关系。
[图5-1]
以下是C++语言实现,能够正确编译通过。
[C++代码]
class Builder{
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) builder;
public:
Director(Builder *builder){
this->builder = builder;
}
string construct(){
vectoritems;
items.push_back("早安"); items.push_back("午安");
builder->makeTitle("Greeting");
builder->makeString("从早上到白天结束");
builder->makeItems(items);
builder->makeString("到了晚上");
(3) ;//清空items向量
items.push_back("晚安"); items.push_back("好梦");
builder->makeItems(items);
return builder->getResult();
}
};
class TextBuilder : public (4) {
private:
string buffer;
public:
TextBuilder(){
buffer = " ";
}
void makeTitle(string title){
buffer += "=======================================\n";
buffer += "『" + title + "』\n";
buffer += "\n";
}
void makeString(string str){
buffer += "■" + str + "\n";
buffer += "\n";
}
void makeItems(vectoritems){
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;
}
选项
答案
vector Builder* items.clear() Builder construct()
解析
转载请注明原文地址:https://kaotiyun.com/show/glDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
软件测试信息流的输入包括______。①软件配置(包括软件开发文档、目标执行程序、数据结构)②开发工具(开发环境、数据库、中间件等)③测试配置(包括测试计划、测试用例、测试驱动程序等)④测试工具(为提高软件测试效率,使用测试
在开发一个字处理软件时,首先快速发布了一个提供基本文件管理、编辑和文档生成功能的版本,接着发布提供更完善的编辑和文档生成功能的版本,最后发布提供拼写和语法检查功能的版本,这里采用了()过程模型。
某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取出产品销售。假设仓库可存放n件产品。用PV操作实现他们之间的同步过程如下图所示。其中,信号量S是一个互斥信号量,初值为(1);S1是一个(2);S2是一
设数组a[1..n,1..m](n>1,m>1)中的元素以行为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤n,1≤j≤m)相对于数组空间首地址的偏移量为()。
系统功能测试过程中,验证需求可以正确实现的测试用例称为(32)。
假设系统采用PV操作实现进程同步与互斥。若n个进程共享两台打印机,那么信号量S的取值范围为()。
以下说法不正确的选项包括(48)。①软件测试不仅仅指测试的执行,还包括很多其他的活动②软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行③应用H模型有利于资源调配,有助于跟踪测试投入的流向④H模型指
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
下图是________________设计模式的类图,该设计模式的目的是________________,图中,Decorator和Component之间是________________关系,ConcreteDecorator和Decorator之间是_
随机试题
美国人约翰在我国境内因为故意伤害罪被依法刑事拘留,办案公安机关应当在24小时内层报省级公安机关,同时通报同级人民政府外事办公室
若则f’(x)等于().
膀胱三角位于
下列哪类人员是传染病的责任报告人
铁路行车基本闭塞法有自动闭塞和()两种。
某企业计划进行某项投资活动,有甲、乙两个备选的互斥投资方案。其资料如下:(1)甲方案原始投资150万元,其中固定资产投资100万元,流动资金50万元,全部资金于建设起点一次投入,没有建设期,运营期为5年,到期残值收入5万元,预计投产后年营业收入9
垄断竞争市场与完全竞争市场的关键差别是______产品无差别,而______产品有差别。
旧唯物主义之所以是“半截子”唯物主义是因为()。
若关系R和S的关系代数的操作结果如下,这是执行了若关系R和S的关系代数操作的结果如下,这是执行了
A.designsB.energyC.contextsD.generallyE.walkingF.timeG.exposingH.accessI.returnedJ.appealK.unethica
最新回复
(
0
)