首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在对应栏内。 【说明】 已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括
阅读下列说明和C++代码,将应填入(n)处的字句写在对应栏内。 【说明】 已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括
admin
2008-11-02
56
问题
阅读下列说明和C++代码,将应填入(n)处的字句写在对应栏内。
【说明】
已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括10万元)的采购单,董事长可以审批10万元至50万元(不包括50万元)的采购单,50万元及以上的采购单就需要开会讨论决定。
采用责任链设计模式(Chain of Responsibility)对上述过程进行设计后得到的类图如图6-1所示。
【C++代码】
#include <string>
#include <iostream>
using namespace std;
class PurchaseRequest {
public:
double Amount; /*一个采购的金额*/
int Number; /*采购单编号*/
string Purpose; /*采购目的*/
};
class Approver { /*审批者类*/
public:
Approver() { successor = NULL; }
virtual void ProcessRequest(PurchaseRequest aRequest){
if (successor != NULL){ successor-> (1) ; }
}
void SetSuccessor(Approver *aSuccesssor) { successor = aSuccesssor; } private:
(2) successor; };
class Congress : public Approver {
public:
void ProcessRequest(PurchaseRequest aRequest) {
if(aRequest.Amount >= 500000){ /*决定是否审批的代码少略*/ }
else (3) ProcessRequest(aRequest);
}
class Director : public Approver {
public:
void ProcessRequest(PurchaseRequest aRequest){ /*此处代码省略*/
}
};
class President : public Approver {
public:
void ProcessRequest(PurchaseRequest aRequest) /*此处代码省略*/ }
};
class VicePresident : public Approver {
public:
void ProcessRequest(PurchaseRequest aRequest) /*此处代码省略*/ }
};
void main(){
Congress Meeting; VicePresident Sam; Director Larry ; President
Tammy;
Meeting. SetSuccessor(NULL); Sam. SetSuccessor( (4) );
Tammy. SetSuccessor( (5) ); Larry. SetSuccessor( (6) );
PurchaseRequest aRequest; /*构造一采购审批请求*/
cin >> aRequest.Amount; /*输入采购请求的金额*/
(7) .ProcessRequest(aRequest); /*开始审批*/
return ;
}
选项
答案
(1)ProcessRequest(aRequest) (2)Approver* (3)Approver:: (4)&Tammy (5)&Meeting (6)&Sam (7)Larry
解析
本题考查的是设计模式的应用,属于比较传统的题目。责任链设计模式属于常用的 23种没计模式之一,其目的是为了将一个请求发送给一个对象集合,对象被组织成一条链,而负责处理该请求的对象将获取请求消息并加以处理,其余对象则仅仅负责将该请求消息按照责任链的顺序传递到下一个对象。因此责任人链模式的关键在于组织不同的对象成为一条链并传递消息。
代码中空(1)处位于条件判断if(successor!=NULL)内,因此其含义是判断当前对象是否存在后继对象,如果存在,按照责任链设计模式,可以把请求消息进行传递,也就是调用后继对象的ProcessRequest方法。空(2)处要求填写successor的类型,因为责任链模式中的每一个对象都继承自同一个父类,在本题中,就是Approver类型。空(3)处位于Congress类中的ProcessRequest方法中,该方法表示处理外界的请求,else块的含义表明Congress对象不处理审批金额大于50万元的请求,因此,Congress对象应该将该请求转发到下一个对象进行处理,可以直接调用父类的ProcessRequest方法。空(4)、 (5)、(6)则主要用来将各种对象串接成一个链,根据题目的要求,对象在责任链中的顺序应该为Director Larry:VicePresident Sam;President Tammy:Congress Meeting,而审批的请求应该从Larry开始。
转载请注明原文地址:https://www.kaotiyun.com/show/B5DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
针对下列程序段,需要(52)个测试用例才可以满足语句覆盖的要求。 switch(value){ case 0: other=30; break; case 1:
内存按字节编址,地址从90000H到CFFFFH,若用存储容量为16KB×8bit的存储器芯片构成该内存,至少需要(3)片。
在计算机体系结构中,CPU内部包括程序计数器PC、存储器数据寄存器MDR、指令寄存器IR和存储器地址寄存器MAR等。若CPU要执行的指令为:MOV R0,#100(即将数值100传送到寄存器R0中),则CPU首先要完成的操作是(1)。
关系数据库管理系统应能实现的专门关系运算包括______。A.选择、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表
若有关系R(A,B,C,D)和S(C,D,E),则与表达式π3,4,7(σ4<5(R×S))等价的SQL语句如下:SELECT(17)FROM(18)WHERE(19);(18)
模块设计中,某模块根据输入的控制信息从文件中读一个记录或者向文件中写一个记录,则其内聚类型为______。
如果在查找路由表时发现有多个选项匹配,那么应该根据___________(25)原则进行选择。假设路由表有4个表项如下所示,那么与地址139.17.179.92匹配的表项是____________(26)。(25)
零件关系P(零件名,条形码,供应商,产地,价格)中的(12)属性可以作为该关系的主键。查询产于西安且名称为“P2”的零件,结果以零件名、供应商及零件价格分列表示,对应的SQL语句为:SELECT零件名,供应商,价格FROMPWHE
根据ANSI/IEEE829标准,(62)属于《测试案例说明》中的内容。 ①输入说明 ②测试目的 ③环境要求 ④特殊要求
随机试题
女,30岁。查:右下第一前磨牙牙体未见异常,牙龈红肿,有真性牙周袋形成,冷热刺激痛,x线显示:牙槽骨吸收1/3。诊断:牙周牙髓联合病变。牙周炎引起牙髓炎的途径最可能是()
雅连的原植物为
(2014年)甲公司2013年因政策性原因发生经营亏损500万元,按照税法规定,该亏损可用于抵减以后5个会计年度的应纳税所得额。该公司预计未来5年间能够产生足够的应纳税所得额弥补亏损,下列关于该经营亏损的表述中,正确的是()。
下列属于扩张性货币政策的是()。
2017年上半年,全国居民人均可支配收入12932元,比上年同期名义增长8.8%。其中,城镇居民人均可支配收入18322元,增长8.1%(以下如无特别说明,均为同比名义增长):农村居民人均可支配收入6562元,增长8.5%。按收入来源分,2017
在超市里常常看到牛奶装在方形的容器中出售,而碳酸饮料则常装在圆形的容器中出售。下列关于此现象的原因解释不合理的是:
政治权利是公民参与国家政治活动的权利和自由的统称,其行使主要表现为公民参与国家、社会组织与管理的活动。公民的政治权利除了包括选举权、被选举权外,还包括
CulturalDifferencesbetweenEastandWestI.FactorsleadingtotheculturaldifferencesA.Differentculture【B1】______【B1】___
Tobeagoodmanager,youmustbecarefultodistinctlydefinetheproperboundary(界限)betweenyourselfandyourstaff.Herear
Manyteachersbelievethattheresponsibilitiesforlearningliewiththestudent.【C1】______alongreadingassignmentisgiven,
最新回复
(
0
)