阅读以下技术说明及C++代码,将C++程序中(1)~(5)空缺处的语句填写完整。[说明] 在一公文处理系统中
阅读以下技术说明及C++代码,将C++程序中(1)~(5)空缺处的语句填写完整。
[说明]
在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件中内容或状态发生变化时,关注此OfficeDoc类对象的相应的DocExplorer对象都要更新其自身的状态。一个OfficeDoc对象能够关联一组DocExplorer对象。当OfficeDoc对象的内容或状态发生变化时,所有与之相关联的DocExplorer对象都将得到通知,这种应用被称为Observer(观察者)模式。以下代码采用C++语言实现,能够正确编译通过。
[C++代码]
Observer(观察者)模式的设计意图是:定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。首先,DocExplorer需要知道OfficeDoc是一个类,但由于OfficeDoc定义在DocExplorer之后,因此需要在DocExplorer类的定义前加上class OfficeDoc的声明,即(1)空缺处所填写的内容是:class OfficeDoc。 (2)空缺处可根据程序最后的构造函数的实现知道,应该填写OfficeDoc。在观察者模式中,不同的观察者更新自身的方法不同,因此(3)空缺处应填写virtual,而且程序最后的“=0”也表明是一个纯虚拟函数。 由(4)空缺处所在行的程序注释说明可知,所有与OfficeDoc相关联的对象更新自身状态,因此需要使用update函数。但update函数的参数是一个OfficeDoc类的对象,所以参数应该为this。 (5)空缺处所在行语句的功能是,将OfficeDoc类的对象和DocExplorer类的对象相关联,关联的函数是OfficeDoc中的attach方法,其参数是一个DocExplorer对象,使用this能够表示当前的对象,因此该空缺处应填写attach(this)。
一辆小汽车在交通信号灯前停了下来,两个男孩迅速下了车英语缺词填空Acarandtwoboysquic 英语 2020-03-30 …
一些简单的小学数学题求解答~~~1.化简.并求出比值1/4:503/4:1/100.125:2.5 数学 2020-05-17 …
15—20平方米的小办公室。优点是各部门有独自的工作空间;缺点是(),空间比较浪费。A.监督方便B. 职业技能鉴定 2020-05-31 …
六年级《如梦令》填空整首词清新自然,一个字淋漓尽致的表达出了作者的.整首词让我们感受到了早年李清照 语文 2020-06-14 …
填空补缺什么象鸽子在空中翩翩起舞? 其他 2020-06-20 …
请用凑十法填空.7+4=7+□+□ 数学 2020-06-27 …
2.下列各句中,没有语病的一句是()A.由于中国的互联网发展非常迅猛,网络空间自我规范的速度远远落 语文 2020-06-30 …
填空补缺。一.斜出反义词连--()完--()二.填写表示颜色的词,完成诗句客舍()()柳色新三.把 其他 2020-07-24 …
把下面排列错乱的句子整理成一段通顺的话。()相传在遥远的古代,水神共工与火神祝融打仗。()女娲用五色 语文 2020-11-04 …
填空!()外交困?()里之间?()人善任?填空补缺啊!()外交困?()里之间?()人善任? 语文 2020-12-11 …