首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改
admin
2009-05-15
35
问题
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。
【说明】
在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改变。一个ImageCon结构能够关联一组ImageView结构。当ImageCon结构的内容或状态发生变化时,所有与之相关联的ImageView结构都将被更新,这种应用被称为观察者模式。以下代码采用C语言实现,能够正确编译通过。
【C代码】
#include <stdio.h>
#define OBS_MAXNUM 20/*一个ImageCon变量最多能够关联的ImageView变量的个数*/
typedef void (1) (struc ImageCon *,struct ImageView *);
struct ImageView{
func update; /*ImageView结构采用的更新函数*/
/*其他的结构字段省略*/
};
struct ImageCon{
(2) myObs[OBS_MAXNUM];
/*存储所有与ImageCon相关联的ImageView结构指针*/
intindex; /*与ImageCon结构变量相关联的ImageView结构变量的个数*/
};
void attach(struct ImageCon *IMG,struct ImageView *ob){
/*关联Obersver结构ob与ImageCon结构IMG*/
int loop=0;
if(IMG→index>=OBS_MAXNUM||ob==NULL)return;
for(loop=0;loop<IMG→index;loop++)
if(IMG→myObs [loop]= =ob)return;
IMG→myObs[IMG→index]=ob;
IMG→index++;
}
void detach(struct ImageCon *IMG,struct ImageView *ob){
/*解除IMG结构与ob结构间的关系*/
int loop;
if(ob= =NULL)return;
for(loop=0;loop<IMG→index;loop++){
if(IMG→myObs[loop]= =ob){
if(loop<=IMG→index-2)
IMG→myObs[loop]=IMG→myObs[ (3) ];
IMG→myObs[IMG→index-1]=NULL;
IMG→index- -;
breack;
}
}
}
void updatel(struct ImageCon *IMG,struct ImageView *ob){
/*更新ob结构的值,更新代码省略*/
}
void update2(struct ImageCon *IMG,struct ImageView *ob){
/*更新ob结构的值,更新代码省略*/
}
void notifyObs(struct ImageCon *IMG){
/*当IMG结构的值发生变化时,通知与之关联的所有ImageView结构变量*/
int loop;
for(loop=0;loop<IMG→index;loop++){
(IMG→myObs[loop])→update (4);
}
}
void main(){
struct ImageCon IMG;/*定义一ImageCon变量*/
struct ImageView explorer1,explorer2;/*定义两个ImageView变量*/
/*初始化与ImageCon变量相关的ImageView变量个数为0*/
IMG.index=0;
explorer1.update=updatel;/*设置explorerl变量的更新函数*/
explorer2.update=update2;/*设置explorer2变量的更新函数*/
attach(&IMG,&explorer1);/*关联explorer1与IMG对象*/
attach(&IMG,&explorer1);/*关联explorer1与IMG对象*/
/*其他代码省略*/
(5);
return;
}
选项
答案
(4)&img或img→myObs[loop]
解析
逐个更新ImageView结构变量。
转载请注明原文地址:https://jikaoti.com/ti/BwW7FFFM
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
交换机Switch1的部分配置命令如下,请将(1)~(4)空缺处的内容填写完整,以完成交换机的相关配置(注:填写答案时,配置语句的关键字要求拼写完整)。以下是两个对核心交换机Switch0的配置命令,错误的是(13),原因是(14)。
连接交换机与工作站的传输介质是什么?介质需要做成直通线还是交叉线?最大长度限制为多少?若工作站A访问外部Web服务器,发往Internet的IP包经由(1)和(2)处时源IP地址分别是什么?
阅读下列说明,根据网页显示的效果图,回答问题1至问题3。[说明]某咨询公司对外提供行业研究报告,其客户分为银卡、金卡及VIP客户,行业研究报告级别分为A、B和C三类,分别对应VIP、金卡及银卡权限。行业研究报告访问权限定义如下:不同级别用户
阅读以下说明,回答问题1至问题3,将解答填入答题纸对应的解答栏内。【说明】请根据Windows服务器的安装与配置,回答下列问题。【问题1】1.下列给出了Windows服务器安装步骤,正确的排序为__________(1)。①选择文件系统格式②
某网站设计了一个留言系统,能够记录留言者的姓名、IP地址及留言时间。撰写留言页面如图4-1所示,表4-1为利用MicrosoftAccess创建的数据库lyb。图4-2是留言信息显示页面,系统按照ID值从大到小的顺序依次显示留言信息,单击图4-1“
阅读以下说明,回答问题1~问题5,将解答填入对应的答案栏内。【说明】在Linux下安装、配置Apache服务,Apache服务程序h仕pd启动时需要读取配置文件httpd.conf。以下是httpd.conf配置文件的一个片段:
某人的电子邮箱为Rjspks@163.com,对于Rjspks和163.com的正确理解为(41),在发送电子邮件时,常用关键词使用中,(42)是错误的,采用的协议是(43)。若电子邮件出现字符乱码现象,以下方法中(44)一定不能解决该问题。
设机罪码的长度为8位,已知X、Z为带符号的纯整数,Y为带符号的纯小数,[X]原+[Y]补+[Z]移=11111111,求出X、Y、Z的十进制真值为:X=(16),Y=(17),Z=(18)。
安全单向散列函数不具备的特征是(62)。
通常计算机的存储器是一个由Cache、主存和辅存构成的3级存储系统。辅助存储器一般可由磁盘、磁带和光盘等存储设备组成。Cache和主存一般是一种(11)存储器。在各种辅存中,除了(12)外,大多是便于脱卸和携带的。Cache存储器一般采用(13)半导体芯片
随机试题
(2004年第6题)心细胞有效不应期特别长的生理意义是
下列具有黏附作用的结构是
上颌磨牙进行全冠修复时,为避免食物嵌塞应有哪种观念A.生物力学B.生物材料学C.动态D.静态E.形态学
患者腹部膨隆呈球形,转动体位时形状改变不明显。应首先考虑的是()
通过问诊就可以作出明确诊断的疾病是
水环境现状调查和监测过程中,确定调查范围的原则有()。
计算经济增长速度,应采用(),以便剔除价格变动的影响。
下列各项中,会导致工业企业当期营业利润减少的有()。
下列作品不属于寻根文学的是()。
(2016年)设(i=1,2,3),其中D1={(x,y)|0≤x≤1,0≤y≤1},D2={(x,y)|0≤x≤1,0≤y≤},D3={(x,y)|0≤x≤1,x2≤y≤1)。则()
最新回复
(
0
)