首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改
admin
2009-05-15
52
问题
阅读以下说明和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://kaotiyun.com/show/PujZ777K
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
为了支持SNMP协议的管理功能,在基于WindowsServer2003操作系统的网络管理站中,需要进行哪些配置工作?结合图6-6的网络拓扑图和图6-7的系统输出信息,如果网络管理员小郭要求通过snmputil命令单独查询交换机1的存活运行时间,则
阅读以下说明,回答问题1~问题3,将解答填入答题纸对应的解答栏内。(2007年11月下午试题三)【说明】应用FTP在两台计算机之间传输文件,一台计算机作为FTP客户端,安装FTP客户端软件(或操作系统自带);另一台作为.FTP服务器,安
阅读以下说明,回答问题1至问题6,将解答填入答题纸对应的解答栏内。(2008年11月下午试题二)【说明】某公司有人力资源部和销售部两个部门,各有26台主机序需接入Internet。其中销售部同时在线用户数通常小于15。ISP为公司分配
A programmer must know about a function’s(74)to Call it correctly.
假设用12个二进制位表示数据。它能表示的最大无符号整数为(8);若采用原码,它能表示的最小负整数为(9)。
Windows系统安装时生成的Documents and Settings、Winnt和System32文件夹是不能随意更改的,因为它们是(16)。在Windows文件系统中,(17)是一个合法的文件名;(18)不是合法的可执行文件的扩展名。
设机罪码的长度为8位,已知X、Z为带符号的纯整数,Y为带符号的纯小数,[X]原+[Y]补+[Z]移=11111111,求出X、Y、Z的十进制真值为:X=(16),Y=(17),Z=(18)。
需要在计算机网络的IP地址和物理地址之间建立映射关系,主要是由于(55),在IP地址向物理地址映射时,使用的协议是(56)。
SNMPv3定义了基于用户的安全模型USM,其中的认证模块结合(62)算法形成认证协议,产生一个96位的报文摘要。
随机试题
肾动脉狭窄的临床表现是
红细胞发生叠连后,红细胞
客源管理应遵循的原则主要有()。
实施电子转单后,依据《口岸查验管理规定》相关规定,检验检疫机构( )
下列各项中,影响年末未分配利润数额的因素有()。
善本
Writeanessayofabout150wordsbasedonthefollowingdrawing.Inyouressay,youshould1)describethedrawingbriefly,
微机中访问速度最快的存储器是()。
Inthepastdecade,newscientificdevelopmentsincommunicationshavechangedthewaymanypeoplegatherinformationaboutpoli
A、Thepickuptimeisnotscheduled.B、Extrapackagingisrequired.C、Valuablesareeasilylost.D、Thepricemightbetoohigh.D
最新回复
(
0
)