首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改
admin
2009-05-15
39
问题
阅读以下说明和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
程序员上午基础知识考试
软考初级
相关试题推荐
请根据表11-1中的选项,把(1)~(5)填写完整。在Linux系统中有如下3个语句,请分别说出他们所执行的任务名称。(1)/etc/rc.d/init.d/dhcpdstart(2)/etc/rc.d/init.d/dhcpdst
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某公司有市场部和财务部两个部门,每个部门各有20台PC,全部接到一个48口交换机上,由一台安装Linux的服务器提供DHCP服务。网络拓扑结构图如图3—1所示。
试题一阅读以下说明,回答【问题1】至【问题4】,将解答填入答题纸对应的解答栏内。【说明】某小公司网络拓扑结构如图1-1所示,租用了一条ADSL宽带来满足上网需求,为了便于管理,在Server2上安装DHCP服务提供IP地址动态
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。【说明】某公司使用ASP开发商务网站,网页制作过程使用了CSS技术,该网站具有商品介绍、会员管理、在线支付和物流管理等功能,采用SQLServer数据库,数据库名称为business,
阅读以下说明,回答问题。【说明】某公司A楼高40层,每层高3.3m,同一楼层内任意两个房间最远传输距离不超过90m,A楼和B楼之间距离为500m,需在整个大楼进行综合布线,其结构如图l一23所示。为满足公司业务发展的需要,要求
某商场的部门和商品两个实体之间的关系如下图所示。假设每个部门负责销售若干种商品,每种商品只能由一个部门负责销售,那么部门和商品之间存在着(14)的联系。
(3)是Excel工作簿的最小组成单位。若用户需要对某个Excel工作表的A1: G1的区域快速填充星期一、星期二、……、星期日,可以采用的方法是在A1单元格填入“星期一”并(4)拖动填充柄至G1单元格。
Computer(75)is a complex consisting of two or more connected computing units,it iS used for the purpose of data communication an
Users also need(71)systems to help them explore the web and discover interesting data sources and interfaces that support differ
测试是保证软件质量的重要手段。根据国家标准GB 8566—1988《计算机软件开发规范》的规定,应该在(10)阶段制定系统测试计划。
随机试题
领导工作本身所具有的质的规定性是______。
不属于恶性骨肿瘤的是()
一食管癌手术治疗后患者,留置胃管。术后第6d出现咳嗽、咳痰,痰略带黄色。查体:体温38.3℃,呼吸频率32/min,右下肺可闻及较多细湿啰音。X线胸片示右下肺大片渗出样改变。其最可能的致病菌为
《环境空气质量标准》(GB3095-96)中,每个污染物的标准分为三级。二级标准不适用于
从施工的技术操作和组织观点看,()是工艺方面最简单的施工过程。
施工部署应对项目实施过程作出统筹规划和全面安排的内容有()。
下列各项属于形式性原则的是()。
培养认真细致的性格及稳定的兴趣,防止粗枝大叶、虎头蛇尾。这一教育措施主要是针对____________类型。
本杰明:“除非所有的疾病都必然有确定的诱因,否则有些疾病可能难以预防。”富兰克林:“我不同意你的看法。”以下哪项断定,最能准确表达富兰克林的看法?
阅读下列说明和Java代码,将应填入(n)处的字句写在对应栏内。[说明]某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图6-1所示。现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中增
最新回复
(
0
)