首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下技术说明及C++代码,将C++程序中(1)~(5)空缺处的语句填写完整。 [说明] 在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件中内容或状态发生变化时,关注此Of
阅读以下技术说明及C++代码,将C++程序中(1)~(5)空缺处的语句填写完整。 [说明] 在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件中内容或状态发生变化时,关注此Of
admin
2010-01-15
37
问题
阅读以下技术说明及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)。
解析
转载请注明原文地址:https://jikaoti.com/ti/nQi7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
采用插入排序算法对n个整数排序,其基本思想是:在插入第i个整数时,前i-1个整数已经排好序,将第i个整数依次和第i-1,i-2,…个整数进行比较,找到应该插入的位置。现采用插入排序算法对6个整数{5,2,4,6,1,3}进行从小到大排序,则需要进行(31)
数据库系统通常采用三级模式结构:外模式、模式和内模式。这三级模式分别对应数据库的__________。
以下测试内容中,属于系统测试的是()。①单元测试②集成测试③安全性测试④可靠性测试⑤兼容性测试⑥可用性测试
POP3协议采用(29)模式进行通信,当客户机需要服务时,客户端软件与POP3服务器建立(30)连接。(30)
假设系统中有三类互斥资源R1、R2和R3,可用资源数分别为10、5和3。在T0时刻系统中有P1、P2、P3、P4和P5五个进程,这些进程对资源的最大需求量和已分配资源数如下表所示,此时系统剩余的可用资源数分别为(22)。如果进程按(23)序列执行,那么系统
______不属于易用性测试范畴。A.软件产品使用户能理解软件是否合适以及如何能将软件用于特定的任务和使用条件的能力B.软件产品使用户能操作和控制它的能力C.对软件中的缺陷或失效原因进行诊断,或识别待修改部分的能力D.软件产品吸引用户的能力
高级程序设计语言中用于描述程序中的运算步骤、控制结构及数据传输的是(20)。
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天)。活动EH最多可以晚开始①天而不影响项目的进度。由于某种原因,现在需要同一个工作人员完成BC和BD,则完成该项目的最少时间为②天
软件测试使用各种术语描述软件出现的问题,以下叙述正确的是______。A.软件错误(error)是指在软件生命周期内的不希望或不可接受的人为错误,其结果是导致软件故障的产生B.软件缺陷(defect)是存在于软件(文档、数据、程序)之中的那些不希望或不
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
随机试题
Inthelast500years,nothingaboutpeople—nottheirclothes,ideas,orlanguages—haschangedasmuchaswhattheyeat.The
关于下肢静脉曲张剥脱术后的护理,错误的是()。
男性,75岁。吸烟50年,15支/天。近2个月出现刺激性咳嗽,有时痰中带血,左胸痛。X线胸片示左上叶前段3cm×4.5cm块影,呈分叶状,边缘有短毛刺,初步诊断
下面哪项不是得神的表现
根据《招标投标法》规定,依法必须进行招标的项目,招标人应当确定中标人之日起15日内,向有关行政监督部门提交招标投标情况的书面报告,其书面报告中至少应包括()等内容。
外国旅游团成员非法进入我国内地或非法滞留的,有关承办旅行社须及时报告公安机关,协助公安机关进行处理,并承担有关费用。()
在我国中小学德育中,()处于核心地位。
必要的共犯,是指刑法分则规定的只能以三人以上的共同犯罪行为作为犯罪构成的犯罪。()
有如下函数定义:voidfunc(inta,int&b){a++;b++;)若执行代码段:intx=0,y=l;func(x,y);则变量X和Y的值分别是()。
Peoplebornintheautumnlivelongerthanthoseborninthespring.Andtheyarelesslikelytofall【B1】______illwhentheyare
最新回复
(
0
)