首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据。当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者(observ
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据。当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者(observ
admin
2015-12-01
30
问题
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据。当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者(observer)模式来开发该系统,观察者模式的类图如图5—1所示。
(c++代码)
#include
#include
Using namespace std;
Class Observer{
Public:
Virtual void update(float temp,float humidity,float cleanness)=0;
);
Class Subject{
Public:
Virtual void registerObserver(Observer*o)=0;//注册对主题感兴趣的观察者
Virtual void removeObserver(Observer*o)=0;//删除观察者
Virtual void notifyObservers()=0;//当主题发生变化时通知观察者
}
Class EnvironmentData:publ ic (1) {
Private:
Vector
observers:
Float temperature,humidity,cleanness;
Public:
Void registerobserVer(0bserVer* o){observers.push—back(o); )
Void removeObserver(Observer*O)</*代码省略*/}
Vo id not ifyObservers(){
for(vector
::const iterator it=observers.begin();it!=observers.end();it++)
{ (2) ;}
}
Void measurementsChanged(){ (3) ;}
Void setMeasurements(float temperature,float humidity,float cleanness){
this->temperature=temperature:
this->humidity=humidity;
this一>cleanness=cleanness:
(4) ;
}
};
Class CurrentconditionsDisplay:publ ic (5) {
private:
float temperature,humidity,cleanness;
Subject*envData;
Public:
CurrentConditionsDisplay(Subject* envData){
this一>envData=envData;
(6) :
}
Void update(float temperature,float humidity,float cleanness)(this一>temperature=temperature;
This->humidity=humidity;
This一>cleanness=cleanness;
display();
}
Void display(){/*代码省略*/)
};
int main(){
EnvironmentData*envData。new EnvironmentData0:
CurrentConditionsDisplay*currentDisplay=new CurrentConditionsDisplay(envData):
envData->setMeasurements(80,65,30.4f);
return 0;
}
选项
答案
(1)Subject (2)(*it)一>update(temperature,humidity,cleanness) (3)notifyObservers() (4)measurementsChanged() (5)Observer() (6)this一>envData-->registerObserver(this)
解析
当主题中的环境发生变化,也就是调用measurementsChanged(),会通知观察者,即调用notifyObservers(),在notifyObservers()方法中,观查者会调用自身的update(float temperature,float humidity,float cleanness)。在主题的registerobserver(0bserve*o)中会注册对主题感兴趣的观察者。
转载请注明原文地址:https://kaotiyun.com/show/DdDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明,回答问题1至问题3,将解答填入解答栏内。【说明】某公司租用了一段C类地址203.12.11.0/24~203.12.14.0/24,如下图所示。其网间地址是172.11.5.14/24。要求网内所有PC都能上网。
阅读以下说明,回答问题1至问题3,将解答填入解答栏内。【说明】某单位有1个总部和6个分部,各个部门都有自己的局域网。该单位申请了6个C类IP地址202.115.10.0/24~202.115.15.0/24,其中总部与分部4共用一个C类地址。现计
阅读以下说明,回答问题1和问题2,将解答填入对应的解答栏内。【说明】某单位内部网络拓扑结构如下图所示,在该网络中采用RIP路由协议。
IPSec工作在TCP/IP协议栈的(1),为TCP/IP通信提供访问控制、(2)、数据源验证、抗重放、(3)等多种安全服务。IPSec的两种工作模式分别是(4)和(5)。(1)~(5)备选答案:A.应用层B.网络层C.数据链
阅读以下说明,回答问题1至问题7,将解答填入对应的解答栏内。【说明】某网络拓扑结构如下图所示。网络A中的DNS_Server1和网络B中的DNSSeNer2分别安装有WindowsServer2003并启用了DNS服务。DNS_Server
阅读以下说明,回答问题1、问题2、问题3和问题4,将解答填入对应栏内。[说明]ATM(AsynchronousTransferMode)顾名思义就是异步传输模式,是国际电信联盟ITU-T制定的标准。实际上在20世纪80年代中期,人们就已经
若采用电话线方式上网,并按要求在计算机连入网络的同时能通电话,连网速率高于500Kbps,可以选用哪种技术方案?其最高通信速率为多少?若采用电视铜缆接入计算机主干网络,用户端需增添什么设备?网络通信速率为多少?
阅读以下有关传统局域网络运行和维护的叙述,将应填入(n)处的字句写在对应栏内。在对网络运行及维护前首先要了解网络,包括识别网络对象的硬件情况、判别局域网的拓扑结构和信道访问方式、确定网络互联以及用户负载等。常见的3种拓扑结构是星形、(1)与(2)拓
阅读以下基于Windows2003操作系统服务器实施负载平衡策略的技术说明,根据要求回答问题1至问题5。【说明】随着各行业信息化建设的不断深入,对网络应用服务器的处理能力、高可用性提出了更高的要求。尤其是高度信息化的企业中,关键性网络服务已经成
请指出图1-12中(1)空缺处传输的是模拟信号,还是数字信号?在图1-12所示的网络拓扑图中,欲使内部网具有构造虚拟网的功能,图中(5)空缺处的交换机应具有哪些功能?
随机试题
背景某工程建筑面积13000m2,地处城区繁华地段。东、南两面紧邻市区主要路段,西、北两面紧靠居民小区一般路段。在项目实施过程中发生如下事件:事件一:项目部对现场平面布置进行了规划,并绘制了施工现场平面布置图。事件二:为控制成本,现场围墙分段设计,实
现时成本会计的作用包括
关于胆结石CT表现,以下哪项是错误的
A.酮症酸中毒B.泌尿系感染C.上消化道出血D.贫血E.肾脏疾病血红蛋白小于110g/L见于
某女士因患有Ⅲ度子宫脱垂,行手术治疗,术后护士应指导其采取的体位是
下列关于会计职业道德作用的表述中,正确的有()。
薛明(男)的叔叔1998年1月过世,在遗嘱中将自己的一处房产留给薛明将来结婚居住。1998年5月,薛明与温惠结婚。1998年11月,房屋过户手续正式办理完毕。后夫妻二人又对房子进行了翻修,共花费4万元。2005年3月,薛明在某刊物上发表了一部长篇小说,出版
重组DNA技术和基因工程是两个内涵完全不同的概念。()
Whichdistancedidtheytalkabout?
Keepingafullsocialcalendarmayhelpprotectyoufromdementia(痴呆症),researcherssaidonMonday.【C1】______activepeople
最新回复
(
0
)