首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据。当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者(observ
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据。当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者(observ
admin
2015-12-01
43
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
在Windows2003中,(1)不能实现NAT功能。A.终端服务管理器B.Internet连接共享C.路由和远程访问在部门B的服务器2中,如果将ISP分配的可用公网IP地址添加到地址池(如左下图所示),那么服务器1收到来
为了使DNS_Server1能正确解析本地Web站点的域名,需对DNS_Server1中的DNS服务进行配置。在图1所示的对话框中,新建的区域名称是(1);在图2所示的对话框中,添加的新建主机名称为(2),IP地址栏应填入(3)。DNS系统中反向查询
阅读以下说明,回答问题1至问题7,将解答填入对应的解答栏内。【说明】某网络拓扑结构如下图所示。网络A中的DNS_Server1和网络B中的DNSSeNer2分别安装有WindowsServer2003并启用了DNS服务。DNS_Server
请在(1)~(4)空白处填写恰当的内容。DHCP的工作过程是:1)IP租用请求。DHCP客户机启动后,发出一个DHCPDISCOVER消息,其封包的源地址为(1),目标地址为(2)。2)IP租用提供。当DHCP服务器收到DHCPDI
下图为RouterB上的路由表信息,写出查询路由表的命令:(1)。该路由器上运行的路由协议为(2)。行政办公楼部门A所属网络地址是(3),部门B所属网络地址是(4)。在主机D上使用命令TracertDNSServer,显示结
以下是使用E1线路实现多个64Kbit/s专线连接。当链路为T1时,channel-group编号为0~23,Timeslot范围为1~24;当链路为E1时,channel-group编号为0~30,Timeslot范围为1~31.路由器
在RAS上存在着两个RJ45的端口,分别为“Console”与“AUX”,请问这两个端口的用途是什么?(控制在100个字以内)在调用超级终端程序进行设备连接时,应该对设备的连接参数进行正确设置,参数主要包括串口数据传输率、数据位数、停止位数以及是否有奇
阅读以下关于网络地址转换(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),以统计方式将其映射到群集主机。当发现到达的数据包时,所有主机同时执行这种映射,以快速
随机试题
试述西蒙的行政组织思想。
以下哪种异常舌象亦可见于正常人( )。
属Ⅱ型超敏反应的疾病是
用作沥青混凝土面层的排水层时,则宜采用沥青处治碎石集料,最大粒径宜为()mm。
()账户核算企业库存中各种原材料的实际成本。
为了更有效降低流动性风险,商业银行的资产和负债的分布应当()
现场检查实施阶段包括以下哪个环节()
根据《行政许可法》的规定,可以不设定行政许可的事项有()。
设f(χ)连续,F(χ)=f(t2)dt,则F′(χ)等于()。
如下图所示,若低位地址(A0~A11)接在内存芯片地址引脚上,高位地址(A12~A19)进行片选译码(其中,A14和A16没有参加译码),且片选信号低电平有效,则对下图所示的译码电路,不属于此译码空间的地址是()。
最新回复
(
0
)