首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下函数说明和C代码,回答问题 [说明] 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式,进行组合将小对象组合成复杂的对象。 以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及
阅读以下函数说明和C代码,回答问题 [说明] 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式,进行组合将小对象组合成复杂的对象。 以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及
admin
2012-02-20
63
问题
阅读以下函数说明和C代码,回答问题
[说明]
在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式,进行组合将小对象组合成复杂的对象。
以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder类规定组成文件的方法,Director类利用这个方法产生一份具体的文件。图7-1显示了各个类间的关系。
[图7-1]
以下是C语言实现,能够正确编译通过。
[C代码]
typedef void( (1) )(char *title);
typedef void(*fun2)(char items[] [10], int N);
typedef char* (*fun3)();
char buffer[500];
struct Builder{//构造器
fun1 makeTitle;
(2) makeString;
fun2 makeItems;
fun3 getResult;
};
struct Director{
struct Builder builder;
};
char* construct( (3) director)//构造文件
{
char items[2][10] = {"早安", "午安"};
director->builder.makeTitle("Greeting");
director->builder.makeString("从早上到白天结束");
director->builder.makeItems(items, 2);
director->builder.makeString("到了晚上");
strcpy(items[0], "晚安");
strcpy(items[1], "好梦");
director->builder.makeItems(items, 2);
return director->builder.getResult();
}
void TXTmakeTitle(char* title)
{
strcat(buffer, "『");
Strcat(buffer, title);
strcat(buffer, "』\n\n");
}
void TXTmakeString(char* str)
{
strcat(buffer, "■");
Strcat(buffer, str);
strcat(buffer, "\n\n");
}
void TXTmakeItems(char items[] [10], int N)//将items加入文件中
{
for(int i = 0, i < N; i++){
strcat(buffer, "·");
strcat(buffer, (4) );
strcat(buffer, "\n");
}
strcat(buffer, "\n");
}
char* TXTgetResult()
{
return buffer;
}
void main()
{
Director director;
(5) = ’\0’;//清空缓冲区,使目前缓冲区中的内容不影响新生成的文件
director.builder.makeTitle = TXTmakeTitle;
director.builder.makeString = TXTmakeTitle;
director.builder.makeItems = TXTmakeItems;
director.builder.getResult = TXTgetResult;
char* result = construct(&director);
printf("%s\n", result);
}
选项
答案
*funl funl struct Director* itemsi buffer[0]
解析
转载请注明原文地址:https://kaotiyun.com/show/ulDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则________________是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为________________。对于10个结点的小顶堆,其
软件内部/外部质量模型中,以下(66)不是功能性包括的子特性。
某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取出产品销售。假设仓库可存放n件产品。用PV操作实现他们之间的同步过程如下图所示。其中,信号量S是一个互斥信号量,初值为(1);S1是一个(2);S2是一
软件可移植性应从如下(46)方面进行测试。
对于逻辑表达式((a||b)||(c&&d)),需要()个测试用例才能完成条件组合覆盖。
某公司使用包过滤防火墙控制进出公司局域网的数据,在不考虑使用代理服务器的情况下,下面描述错误的是“该防火墙能够(9)”。
若计算机中地址总线的宽度为24位,则最多允许直接访问主存储器(6)________________的物理空间(以字节为单位编址)。
下图是①设计模式的类图,该设计模式的目的是②,图中,Abstraction和RefinedAbstraction之间是③关系,Abstraction和Implementor之间是④关系。②处应填入?
随机试题
女,35岁,下腹部不适,CT扫描子宫增大呈分叶状,CT扫描如图所示,首先应该考虑的是
动眼神经病变可出现颞叶钩回疝可出现
为防止由于独断专行所带来的风险,单位内部会计监督制度应对()有明确的规定。
创造态度和______是个体创造性的两个标志。
“眼见不一定为实”,这主要是因为:
监察机关可以对被调查人采取留置措施,但是留置时间不得超过三个月,且不得以任何理由延长。()
小清新自有其审美情趣。忧伤、朦胧、淡淡,都是不同的风格。但从一些小清新的标志性语汇中,或许也能看出一种思想倾向:_______的是一己的小思绪、_______的是一方的小意境、_______的是一人的小感伤……偏向于感性、偏向于个人、偏向于幻想,因而显得格
根据智利的法律,所有新房屋的建造都必须按照严格的建筑程序和监督流程进行,建筑物在开建之前__________地必须由专业机构负责设计,因为对房屋防震的要求极高,所以智利人在建筑的每一个环节上都_________,不敢有丝毫的_________。填入划横线部
不适用或者不受著作权法保护的作品是()。
IamTom,20years【B1】andI’mstudyingatXinqiaoCollege,notfarawayfrommyhome.I’vegot【B2】parttimejobinasupermark
最新回复
(
0
)