软件设计师-28
(总分:,做题时间:90 分钟)
一、试题一(总题数:1,分数:)
1•阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
[说明]
某灯具厂商欲生产一个灯具遥控器,该遥装为一个对象,从而可用不同的请求对客户进 行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。
二、试题二(总题数:1,分数:)
2•阅读下列说明和C++代码,将应填入横线处的字句写在下面。
[说明]
某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据,当获取
到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者(observer)模式来开发该系统,观察
C++代码如下。
#includeV iostream〉
#includeV vector〉
Using namespace std;
Class Observer
{
Public:Virtual void update(float temp,float humidity, float cleanness)=0;
};
Class Subject
{ Public:
Virtual void register0bserver(0bserver*o)=0;//注册对主题感兴趣的观察者 Virtual void remove0bserver(0bserver*o)=0;//删除观察者
Virtual void notifyObservers()=0; //当主题发生变化时通知观察者
}
Class EnvironmentData:public
{ Private:
Vector<Observer*〉observers;
Float temperature,humidity,cleanness;
Public:
Void registerObserver(Observer*o) { (0);}
Void removeObserver(Observer*o){/* 代码省略 */)
Void notifyobservers( )
{
for(vector<Observe*> :: const iterator it=(); it!=();it++)
{ ;}
}
Void measurementsChanged(){ ;}
Void setMeasurements(float temperature,float humidity, float cleanness)
{
this-〉temperature= temperature; this-〉humidity=humidity;
this-〉cleanness=cleanness;
}
};
Class CurrentConditionsDisplay:public
{
private:float temperature,humidity,cleanness; Subject-envData;
Public:CurrentConditionsDisplay(Subject*en
软件设计师 来自淘豆网m.daumloan.com转载请标明出处.