网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

阅读以下说明和C代码,将应填入(n)处。

[说明]

在一公文处理系统中,开发者定义了一个公文结构OfficeDoc,其中定义了公文应该具有的属性(字段)。当公文的内容或状态发生变化时,与之相关联的DocExplorer结构的值都需要发生改变。一个OfficeDoc结构能够关联一组DocExplorer结构。当OfficeDoc结构的内容或状态发生变化时,所有与之相关联的DocExplorer结构都将被更新,这种应用被称为观察者模式。以下代码采用C语言实现,能够正确编译通过。

[C代码]

include <stdio.h>

define OBS_MAXNUM 20 /*一个OfficeDoc变量最多能够关联的*/

/*DoeExplorer变量的个数*/

typedef void((1))(struct OfficeDoc*,street DocExplorer*);

struct DocExplorer{

func update;/* DocExplorer结构采用的更新函数*/

/*其他的结构字段省略*/

};

struct OfficeDoc{

(2) myObs[OBS_MAXNUM];

/*存储所有与OfficeDoc相关联的DoeExplorer结构指针*/

int index;/*与OfficeDoc结构变量相关联的DocExplorer结构变量的个数*/

};

void attach(struet OfficeDoc *doc, struet DocExplorer *ob){

/*关联Obersver结构ob与OfficeDoe结构doc*/

int loop=0;

if(doc->index >=OBS_MAXNUM || b==NULL) return;

for(loop=0; loop <doc->index; loop++)

if(doc->myObs[loop]==ob)return;

doc->myObs[doe->index]=ob;

doc->index++;

)

void detach(struct OfficeDoc *doc, struct DocExplorer *ob){

/*解除doc结构与ob结构间的关系*/

int loop;

if(ob==NULL)return;

for(loop=0; loop <doc->index; loop6++){

if(doc->myObs[loop]==ob){

if(loop<=doc->index-2)

doe->myObs[loop]=doc->myObs[ (3) ];

doc->myObs[doe->indox-1]=NULL;

doe->index--;

break;

}

}

}

void updatel(struct OfficeDoc *doc,struct DocExplorer *ob){

/*更新ob结构的值,更新代码省略*/

}

void update2(stmct OfficeDoc *doc, struct DocExplorer *ob){

/*更新ob结构的值,更新代码省略*/

}

void notifyObs(struet OfficeDoc *doc){

/*当doc结构的值发生变化时,通知与之关联的所有DocExplorer结构变量*/

int loop;

for(loop=0; loop <doc->index; loop++){

(doc->myObs[loop])->update((4));

}

}

void main(){

stmct OfficeDoc doc;/*定义一OfficeDoc变量*/

struct DocExplorer explorer1, explorer2;/*定义两个DocExplorer变量*/

/*初始化与OfficeDoc变量相关的DocExplorer变量个数为0*/

doc.index=0;

explorer1.update=update1;/*设置explorer1变量的更新函数*/

explorer2.update=update2;/*设置explorer2变量的更新函数*/

attaeh(&doc,&explorer1);/*关联explorer1与doc对象*/

attach(&doc,&explorer2);/*关联explorer2与doc对象*/

/*其他代码省略*/

(5);/*通知与OfficeDoc相关的所有DocExplorer变量*/

return;

}


参考答案

更多 “ 阅读以下说明和C代码,将应填入(n)处。[说明]在一公文处理系统中,开发者定义了一个公文结构OfficeDoc,其中定义了公文应该具有的属性(字段)。当公文的内容或状态发生变化时,与之相关联的DocExplorer结构的值都需要发生改变。一个OfficeDoc结构能够关联一组DocExplorer结构。当OfficeDoc结构的内容或状态发生变化时,所有与之相关联的DocExplorer结构都将被更新,这种应用被称为观察者模式。以下代码采用C语言实现,能够正确编译通过。[C代码]include <stdio.h>define OBS_MAXNUM 20 /*一个OfficeDoc变量最多能够关联的*//*DoeExplorer变量的个数*/typedef void((1))(struct OfficeDoc*,street DocExplorer*);struct DocExplorer{func update;/* DocExplorer结构采用的更新函数*//*其他的结构字段省略*/};struct OfficeDoc{(2) myObs[OBS_MAXNUM];/*存储所有与OfficeDoc相关联的DoeExplorer结构指针*/int index;/*与OfficeDoc结构变量相关联的DocExplorer结构变量的个数*/};void attach(struet OfficeDoc *doc, struet DocExplorer *ob){/*关联Obersver结构ob与OfficeDoe结构doc*/int loop=0;if(doc->index >=OBS_MAXNUM || b==NULL) return;for(loop=0; loop <doc->index; loop++)if(doc->myObs[loop]==ob)return;doc->myObs[doe->index]=ob;doc->index++;)void detach(struct OfficeDoc *doc, struct DocExplorer *ob){/*解除doc结构与ob结构间的关系*/int loop;if(ob==NULL)return;for(loop=0; loop <doc->index; loop6++){if(doc->myObs[loop]==ob){if(loop<=doc->index-2)doe->myObs[loop]=doc->myObs[ (3) ];doc->myObs[doe->indox-1]=NULL;doe->index--;break;}}}void updatel(struct OfficeDoc *doc,struct DocExplorer *ob){/*更新ob结构的值,更新代码省略*/}void update2(stmct OfficeDoc *doc, struct DocExplorer *ob){/*更新ob结构的值,更新代码省略*/}void notifyObs(struet OfficeDoc *doc){/*当doc结构的值发生变化时,通知与之关联的所有DocExplorer结构变量*/int loop;for(loop=0; loop <doc->index; loop++){(doc->myObs[loop])->update((4));}}void main(){stmct OfficeDoc doc;/*定义一OfficeDoc变量*/struct DocExplorer explorer1, explorer2;/*定义两个DocExplorer变量*//*初始化与OfficeDoc变量相关的DocExplorer变量个数为0*/doc.index=0;explorer1.update=update1;/*设置explorer1变量的更新函数*/explorer2.update=update2;/*设置explorer2变量的更新函数*/attaeh(doc,explorer1);/*关联explorer1与doc对象*/attach(doc,explorer2);/*关联explorer2与doc对象*//*其他代码省略*/(5);/*通知与OfficeDoc相关的所有DocExplorer变量*/return;} ” 相关考题
考题 在公文写作中,说明的主要方法包括( )。A.定义说明B.议论说明C.分类说明SXB 在公文写作中,说明的主要方法包括( )。A.定义说明B.议论说明C.分类说明D.数字说明

考题 阅读以下说明和Java代码,将应填入(n)处。[说明]在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文的内容或状态发生变化时,关注此OfficeDoc类对象的相应的DocExplorer对象都要更新其自身的状态。一个OfficeDoc对象能够关联一组 DocExplorer对象。当OfficeDoc对象的内容或状态发生变化时,所有与之相关联的 DocExplorer对象都将得到通知,这种应用被称为观察者模式。以下代码采用Java语言实现,能够正确编译通过。[Java代码]//Subject.java 文件public interface Subject {public void attach(Observer DocExplorer);public void detach(Observer DocExplorer);void notifyObservers();}//Observer.java 文件public interface Observer{void update((1) );}//OfficeDoc.java 文件import java.util.*;public class OfficeDoc implements Subject(//OfficeDoc 类实现 Subject 接口private Vector bserverVeetor=new java.util.Vector();//存储与OfficeDoc相关联的DocExplorer 对象public void attach(Observer observer){//将某 DocExplorer 对象与OfficeDoc 相关联ObserverVector.addElement(observer);}public void detach(Observer observer){//解除某DocExplorer 对象与OfficeDoc的关联关系ObserverVector.removeElement(observer);}public void notifyObservers(){//当OfficeDoc对象状态已发生变化时,通知所有的DocExplorer对象Enumeration enumeration=(2);while (enumeration.hasMoreElements()){((Observer)enumeration.nextElement()).(3);}}public Enumeration Observers(){return ObserverVector.elements();}//其他公文类的属性和方法省略}//DoeExplorer.java 文件public class DocExplorer implements (4) {public void update( (5) ){//更新DocExplorer自身的状态,代码省略}}

考题 阅读以下说明和C++代码,将应填入(n)处。[说明]在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文的内容或状态发生变化时,关注此OfficeDoc类对象的相应的DocExplorer对象都要更新其自身的状态。一个OfficeDoc对象能够关联一组 DocExplorer对象。当OfficeDoc对象的内容或状态发生变化时,所有与之相关联的 DocExplorcr对象都将得到通知,这种应用被称为观察者模式。以下代码写在一个C++源文件中,能够正确编译通过。[C++代码]include <iostream>const OBS_MAXNUM=20;//最多与OfficeDoc对象相关联的DocExplorer对象的个数(1);class DocExplorer{ //关注OfficeDoc公文对象的类public:DocExplorer( (2) *doc); //构造函数(3) void update(OfficeDoc *doc)=0;//更新自身状态的函数//其他相关属性和方法省略};class OfficeDoc{ //公文类private:DocExplorer *myObs[OBS_MAXNUM];//关注此公文类的DocExplorer类对象指针数组int index; //与OfficeDoc对象关联的DocExplorer对象的个数public:OfficeDoe()index=0;}void attach(DocExplorer *o){//将一DoeExplorer对象与OfficeDoe对象相关联if(index >=OBS_MAXNUM ||o=NULL)return;for(int loop=0; loop<index; loop++)if(myObs[loop]==o) return;myObs[index]=o;index++;}void detaeh(DocExplorer *o){//接触某DoeExplorer对象与OfficeDoc对象的关联if(0==NULL) return;for(int loop=0; loop<index; loop++){if(myObs[loop]==o){if(loop<=index-2)myObs[loop]=myObs[index-1];myObs[index-1]=NULL;index--;break;}}}private:void notifyObs(){ //通知所有的DocExplorer对象更改自身状态for(int loop=0; loop<index; loop++){myObs[loop]->(4); //DocExplorer对象更新自身状态}}//其他公文类的相关属性和方法};DocExplorer::DocExplorer(OfficeDoc *doc){//DocExplorer 类对象的构造函数doc->(5); //将此DocExplorer对象与doc对象相关联}

考题 阅读以下技术说明及C++代码,将C++程序中(1)~(5)空缺处的语句填写完整。[说明]在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件中内容或状态发生变化时,关注此OfficeDoc类对象的相应的DocExplorer对象都要更新其自身的状态。一个OfficeDoc对象能够关联一组DocExplorer对象。当OfficeDoc对象的内容或状态发生变化时,所有与之相关联的DocExplorer对象都将得到通知,这种应用被称为Observer(观察者)模式。以下代码采用C++语言实现,能够正确编译通过。[C++代码]

考题 阅读以下技术说明及Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。[说明]在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件的内容或状态发生变化时,关注此OfficeDoc类对象的相应的DocExplorer对象都要更新其自身的状态。一个OfficeDoc对象能够关联一组DocExplorer对象。当OfficeDoc对象的内容或状态发生变化时,所有与之相关联的DocExplorer对象都将得到通知,这种应用被称为Observer(观察者)模式。以下代码采用Java语言实现,能够正确编译通过。[Java代码]

考题 阅读以下说明和JAVA 2代码,将应填入(n)处的字句写在对应栏内。[说明]以下程序为类类型的变量应用实例,通过异常处理检验了类CCircle的变量的合法性,即参数半径应为非负值。仔细阅读代码和相关注释,将程序补充完整。[JAVA代码]//定义自己的异常类class CCircleException extends Exception{}// 定义类 CCircleclass CCircle{private double radius;public void setRadius ( double r ) (1){if ( r<0 ) {(2)}else(3)}Public void show ( ) {System. out. println ( "area="+3.14*radius*radius );}}public class ciusample{public static void main ( String args[] ){CCircle cir=new CCircle( );(4) {cir. setRadius ( -2.0 )}(5){System. out. println ( e+" throwed" ) ;}cir. show( ) ;}}

考题 试题三(共 15 分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。

考题 阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】 某文件管理系统中定义了类OfficeDoc和DocExplorer,当类OfficeDoc发生变化时,类DocExplorer的所有对象都要更新其自身的状态,现采用观察者(Observer)设计模式来实现该需求,所设计的类图如图6-1所示。

考题 阅读下列说明和?C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 阅读下列说明和?Java代码,将应填入?(n)?处的字句写在答题纸的对应栏内。 【说明】 某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种 类可能不同,但其制作过程相同。前台服务员?(Waiter)?调度厨师制作套餐。现采用生成器?(Builder)?模式实现制作过程,得到如图?6-1?所示的类图。