[说明] 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对

题型:问答题

问题:

[说明]
在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。
以下实例展示了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;

考点:计算机软件水平考试中级软件设计师中级软件设计师下午试题
题型:问答题

703-497=

验算:

题型:问答题

在城市发展和建设领域中要有公共政策来干预市场的自发过程,以克服( )的缺陷。

A.城乡规划

B.城市管理

C.城市建设法规

D.市场机制

题型:问答题

兴趣是什么?有哪些特点?

题型:问答题

A.无所谓
B.没有说
C.不适合
D.适合

题型:问答题

非填充式市话全塑电缆,绝缘电阻,在20摄氏度每根绝缘导线与其余导线接地,屏蔽之间最小值()N.KM。

更多题库