首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据。当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者(observ
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据。当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者(observ
admin
2015-12-01
60
问题
阅读下列说明和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)、(2)、(3)、(4)空白处填写恰当的内容。Web客户机与服务器共同遵守(1)协议,其工作过程是;Web客户端程序根据输入的(2)连接到相应的Web服务器上,并获得指定的Web文档。动态网页以(3)程序的形式在服务器端处理,并给客户端返
阅读以下说明,将(n)的含义填入对应栏内。[说明]电子邮件是Internet中应用最广泛的服务,因此安装和配置一个高效与满足实际需求的电子邮件系统是每一个系统管理员的奋斗的目标之一,Linux的出现为构建低成本的、高效的电子邮件服务器提供了
VPN使用的隧道协议可以有那几类,分别有哪些协议?VPN路由器配置如下,请解释画线部分含义。Vpdn-group1(1)Accept-dialinprotocol12tpvirtual-template1terminate
以下是使用E1线路实现多个64Kbit/s专线连接。当链路为T1时,channel-group编号为0~23,Timeslot范围为1~24;当链路为E1时,channel-group编号为0~30,Timeslot范围为1~31.路由器
阅读以下关于网络地址转换(NAT)的技术说明,结合网络拓扑图回答问题1至问题3。【说明】网络地址转换(NAT)技术可用来缓解IP地址短缺问题和实现TCP负载均衡功能。动态地址翻译技术在子网外部使用少量的全局地址,通过路由器进行内部和外部地址的转换
在图4-8所示的无线接待室中WLAN采用的体系结构如图4-9所示,请将(1)~(3)空缺处填写完整在图4-8所示的网络拓扑结构中,无线接入点AP1控制的所有终端组成一个(7)。最适合在图4-8所示的ADSL接入网上实时传输视频数据的MPEG系列标准是
网络负载平衡(NetworkLoadBalancing)的核心是位于网络适配器驱动和(1)之间的WLBS.SYS的筛选器驱动。它采用一种(2),根据传入客户端的(3),以统计方式将其映射到群集主机。当发现到达的数据包时,所有主机同时执行这种映射,以快速
请指出图1-12中(1)空缺处传输的是模拟信号,还是数字信号?图1-12中(2)空缺处是什么设备?该设备在本宽带网络中完成哪些功能?
认真阅读以下关于架构Apache安全服务器的技术说明,根据要求回答问题1至问题5。【说明】某些商务公司要求其网站的部分信息资源只对经过身份认证后的用户开放。因此在Linux+Apache架构Web服务器方案中,需利用mod-ss1模块给Apach
随机试题
诊断慢性浅表性胃炎时哪项有意义()。
关于补钾的要求哪项不合适:()
听阈是指
女性,38岁,一周来高热,T:39.5℃,食欲不振,大便干,腹胀。查体:腹部皮肤可见少量淡红色、稍高出皮肤的皮疹,压之褪色,肝肋下1cm,脾肋下2cm。肥大氏反应“O”1:80,“H”1:320。此病人最可能的诊断是()
X线胶片对射线对比度的放大能力称为
位于气管颈段前方的肌肉是
患者女,42岁,诊断为十二指肠溃疡,下列哪个疼痛特点支持该诊断
在新民主主义向社会主义过渡时期,经济上处于领导地位的是()。
Themainideaofthispassageisthat______.ThedoctorscametovisitJercyPage,expecting______.
Today,theTowerofLondonisoneofthemostpopulartourist【1】andattractsoverthreemillionvisitorsayear.Itwasoccasion
最新回复
(
0
)