首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下函数说明和C代码,回答问题 [说明] 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式,进行组合将小对象组合成复杂的对象。 以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及
阅读以下函数说明和C代码,回答问题 [说明] 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式,进行组合将小对象组合成复杂的对象。 以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及
admin
2012-02-20
111
问题
阅读以下函数说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
电视系统采用的颜色空间中,其亮度信号和色度信号是相分离的。下列颜色空间中,(58)颜色空间不属于电视系统的颜色空间。
在开发一个字处理软件时,首先快速发布了一个提供基本文件管理、编辑和文档生成功能的版本,接着发布提供更完善的编辑和文档生成功能的版本,最后发布提供拼写和语法检查功能的版本,这里采用了()过程模型。
软件可移植性应从如下(46)方面进行测试。
函数t()、f()的定义如下所示。若调用函数t()时传递给x的值为3,并且调用函数f()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,则函数t0的返回值为(33).
某公司使用包过滤防火墙控制进出公司局域网的数据,在不考虑使用代理服务器的情况下,下面描述错误的是“该防火墙能够(9)”。
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
用边界值分析法,假定X为整数,10≤X≤100,那么X在测试中应该取(40)边界值。
序言性注释是指在每个程序或模块开头的一段说明,起辅助理解程序的作用,一般包括:程序的表示、名称和版本号;程序功能描述;接口与界面描述;输入输出数据说明:开发历史;与运行环境有关的信息等。下列叙述中不属于序言性注释的是(23)。
随机试题
简述配送计划的种类
简述资本主义经济危机的实质和根源。
公文的承办包括哪些方面?
下列说法不属于慢性淋巴细胞性甲状腺炎表现的是:()
局部麻醉不包括
FITC在紫外光的激发下,所产生的荧光为
根据《动物防疫法》规定,动物卫生监督系统的名称应为()。
肝病日久,两胁胀满疼痛,并见舌质瘀斑、瘀点。其病机是产后大出血,继则冷汗淋漓,甚则晕厥。其病机是
只要加强了党的执政能力建设,就能更好地组织、管理和领导我国的社会主义经济建设。
三宥之法指的是( )。
最新回复
(
0
)