首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据。当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者(observ
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据。当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者(observ
admin
2015-12-01
56
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
该网络采用R1~R7共7台路由器,采用动态路由协议OSPF。由图1-1可见,该网络共划分了3个OSPF区域,其主干区域为(1),主干区域中,(2)为区域边界路由器,(3)为区域内路由器。下表是该系统中路由器的IP地址分配表。请根据上
阅读以下说明,回答问题1至问题3,将解答填入解答栏内。【说明】某单位有1个总部和6个分部,各个部门都有自己的局域网。该单位申请了6个C类IP地址202.115.10.0/24~202.115.15.0/24,其中总部与分部4共用一个C类地址。现计
为了使DNS_Server1能正确解析本地Web站点的域名,需对DNS_Server1中的DNS服务进行配置。在图1所示的对话框中,新建的区域名称是(1);在图2所示的对话框中,添加的新建主机名称为(2),IP地址栏应填入(3)。在客户端除了可以用p
为了使DNS_Server1能正确解析本地Web站点的域名,需对DNS_Server1中的DNS服务进行配置。在图1所示的对话框中,新建的区域名称是(1);在图2所示的对话框中,添加的新建主机名称为(2),IP地址栏应填入(3)。在网络A的PCI中执
与ISDN相关的网络设备主要有TA、NT1、NT2、TE1、TE2等。在图2-9所示的网络拓扑结构中,路由器Router1和ISDN之间是否需要加入终端适配器(TA)?请用150字以内的文字简要说明理由。以下是在路由器Router1上的部分配置信息,结
阅读以下家庭HFC宽带接入Internet网的技术说明,结合网络连接拓扑图,根据要求回答问题1至问题5。【说明】混合光纤一同轴电缆网(即HFC网)将光纤敷设到小区,再通过光电转换节点,利用CATV的总线式同轴电缆网连接到用户,从而为用户提供Int
网络负载平衡(NetworkLoadBalancing)的核心是位于网络适配器驱动和(1)之间的WLBS.SYS的筛选器驱动。它采用一种(2),根据传入客户端的(3),以统计方式将其映射到群集主机。当发现到达的数据包时,所有主机同时执行这种映射,以快速
请指出图1-12中(1)空缺处传输的是模拟信号,还是数字信号?图1-12中(2)空缺处是什么设备?该设备在本宽带网络中完成哪些功能?
在RAS上存在着两个RJ45的端口,分别为Console与AUX,请问这两个端口的用途是什么?(控制在100个字以内)在第4步中,进入虚拟操作台后,在IOS环境下输入了如下的配置,请解释(1)~(4)处的标有下划线部分配置命令的含义(“◇”后为配置内容
简述网络规划阶段需求分析的方法和解决的问题。(控制在100个字以内)在网络规划阶段“系统可行性分析和论证”的主要内容是什么?(控制在100个字以内)
随机试题
中国对于自然美的欣赏和表现中,以“比德”传统为基础的审美经验论的典型代表是()
患者,女,22岁。在一次不洁性行为后出现阴道分泌物增多,排尿困难,子宫颈红肿等症状,怀疑为淋球菌感染,取阴道分泌物进行细菌学检查,培养条件为
青霉素过敏性休克的临床表现中,不符的是
当手术是急诊抢救患者的唯一方案时,医生最符合医学道德的做法是
改性沥青混合料储存过程中,混合料温度降低不得大于( )。
根据《仲裁法》的规定,当事人之间必须达成的书面仲裁协议,下列情形中,该书面仲裁协议无效的有()。
甲公司的生产经营存在季节性,每年的6月~10月是生产经营旺季,11月~次年5月是生产经营淡季。如果使用应收账款年初余额和年末余额的平均数计算应收账款周转次数,计算结果会()。
以下是某求助者做WAIS-RC的测验结果,请据此回答问题。该求助者()。
张教授:利益并非只是物质利益,应该把信用、声誉、情感甚至某种喜好等都归入利益的范畴。根据这种“利益”的广义理解,如果每一个个体在不损害他人利益的前提下,尽可能满足其自身的利益需求,那么由这些个体组成的社会就是一个良善的社会。根据张教授的观点,可以得出以下
Choosethecorrectanswer,A,BorC.AdbourneFilmFestivalAswellasonline,ticketsforthefilmscanbeobtained
最新回复
(
0
)