首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C++代码,回答问题 [说明] 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。 以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字
阅读下列函数说明和C++代码,回答问题 [说明] 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。 以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字
admin
2012-02-20
79
问题
阅读下列函数说明和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://www.kaotiyun.com/show/glDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
在一个完整的功能测试过程中,______不属于应该编写的测试文档。A.测试需求文档B.测试用例文档C.测试标准D.问题报告单
软件测试信息流的输入包括______。①软件配置(包括软件开发文档、目标执行程序、数据结构)②开发工具(开发环境、数据库、中间件等)③测试配置(包括测试计划、测试用例、测试驱动程序等)④测试工具(为提高软件测试效率,使用测试
软件内部/外部质量模型中,以下(66)不是功能性包括的子特性。
一个Web信息系统所需要进行的测试包括____________。①功能测试②性能测试③可用性测试④客户端兼容性测试⑤安全性测试
某应用系统采用防火墙技术来实现安全防护,在进行安全防护测试时,设计的测试点不包括______。
假设系统采用PV操作实现进程同步与互斥。若n个进程共享两台打印机,那么信号量S的取值范围为()。
函数t()、f()的定义如下所示。若调用函数t()时传递给x的值为3,并且调用函数f()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,则函数t0的返回值为(33).
用边界值分析法,假定X为整数,10≤X≤100,那么X在测试中应该取(40)边界值。
“<titlestyle="italic">science</title>”是XML中一个元素的定义,其中元素的内容是(29)。
随机试题
创设良好课堂气氛的条件是()。
Asfilmsare______tolight,theycanonlybeprocessedindarkness.
A.黄疸B.发绀C.血肌酐升高D.突发性低血压E.消化道出血胃肠功能衰竭时
患者,男,70岁,因高血压致脑出血已昏迷一周,护士根据医嘱给予鼻饲,以补充营养和水分。下列鼻饲管留置期间的护理,哪项是错误的
精神分析学家弗洛伊德认为人的性本能是最基本的自然本能,它是推动人发展的根本动因,这一观点属于教育学上的()。
用岁月在莲上写诗林清玄①白河小镇是一个让人吃惊的地方,它是本省最大的莲花种植地,在小巷里走,在田野上闲逛,都会在转折处看到一田田又大又美的莲花。那些
下列说法正确的是()。
下列关于法定情节的说法,错误的是
Themostobviouspurposeofadvertisingistoinformtheconsumerofavailableproductsorservices.Thesecond(31)______ist
WhydoesCarlavoidadoublecheeseburger?
最新回复
(
0
)