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

题型:问答题

问题:

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

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

研究“隐性课程”对学生有怎样影响的课程价值取向的是( )

A.课程实施的取向

B.相互适应取向

C.课程创生取向

D.以上三项都不正确

题型:问答题

蒸馏滴定法测定碳酸饮料中二氧化碳含量,饮料经强碱、强酸处理后加热蒸馏,溢出的二氧化碳用()吸收生成碳酸盐。

A.氢氧化钠溶液

B.氯化钠溶液

C.盐酸溶液

D.氯化钡溶液

题型:问答题

水团的分析方法有()

A.定性的综合分析方法

B.浓度混合分析方法

C.概率统计分析方法

D.模糊数学分析方法

题型:问答题

广告定位理论形成于()

A.二十世纪六十年代

B.二十世纪七十年代

C.二十世纪八十年代

D.二十世纪九十年代

题型:问答题

防止运动模糊最有效的方法是

A.应用滤线栅
B.应用过滤板
C.消除散射线
D.短时间曝光
E.应用增感屏

更多题库