首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C++代码,回答问题 [说明] 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。 以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字
阅读下列函数说明和C++代码,回答问题 [说明] 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。 以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字
admin
2012-02-20
59
问题
阅读下列函数说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则________________是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为________________。对于10个结点的小顶堆,其
产品的功能性测试的内容不包括______。A.适合性B.易用性C.正确性D.互操作性
软件测试信息流的输入包括______。①软件配置(包括软件开发文档、目标执行程序、数据结构)②开发工具(开发环境、数据库、中间件等)③测试配置(包括测试计划、测试用例、测试驱动程序等)④测试工具(为提高软件测试效率,使用测试
设数组a[1..n,1..m](n>1,m>1)中的元素以行为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤n,1≤j≤m)相对于数组空间首地址的偏移量为()。
软件系统的安全性是信息安全的一个重要组成部分,针对程序和数据的安全性测试与评估是软件安全性测试的重要内容,()不属于安全性测试与评估的基本内容。
以下关于信息和数据的描述中,错误的是________________。
计算机系统中,虚拟存储体系由______两级存储器构成。
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
采用________________表示带符号数据时,算术运算过程中符号位与数值位采用同样的运算规则进行处理。
下图是①设计模式的类图,该设计模式的目的是②,图中,Abstraction和RefinedAbstraction之间是③关系,Abstraction和Implementor之间是④关系。①处应填入?
随机试题
公共政策对象具有的特点包括()
较早发生血道转移的肿瘤是
女性,40岁,高热,皮肤瘙痒半月,右颈及锁骨上淋巴结肿大,无压痛,互相粘连,血红蛋白90g/L,白细胞10×109/L,中性66%,淋巴24%,骨髓涂片找到里一斯细胞。如需明确诊断首先应作的检查是()
常用的混凝土外加剂有()。
下列关于凭证审核的操作控制的说法中,错误的是()。
如果买卖的商品是玻璃制品,则应该运输包装上刷制什么指示性标志()
2009年2月,某油田开采原油10万吨,其中已销售8万吨,自用原油0.5万吨(用于冬季加热、修井),其余的未销售,该油田适用的单位税额为14元/吨。关于下列陈述,正确的有()。
下面漫画给我们的启示较为贴切的是()。①在砥砺自我中实现人生价值②规律是客观的,我们不能无视客观条件③人生价值的实现要发挥自强不息的精神④矛盾具有特殊性,要求具体问题具体分析
孔子说:德之不存,行之不远。在当前社会转型期,存在众多为了一己之私践踏职业道德、社会公德等各种道德失范现象。因此提倡厚德具有重要的意义和价值,这说明()。
Inthissection,youareaskedtowriteanessaybasedonthefollowingchart.Inyourwriting,youshould1)interpretthechart
最新回复
(
0
)