为帮助广大软考中级软件设计师考生更好备考,信管网特整理汇总了软件设计师部分下午真题、答案及解析供考生查阅,并提供免费在线模拟答题、历年真题免费下载等服务,了解软件设计师更多备考信息请关注信管网。
相关推荐:
免费练习:软件设计师考试题库(模拟试题、章节练习、每日一练)
阅读下列说明和c++代码,将应填入 (n) 处的字句写在对应栏内。
【说明】
已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括10万元)的采购单,董事长可以审批10万元至50万元(不包括50万元)的采购单,50万元及以上的采购单就需要开会讨论决定。
采用责任链设计模式(chain of responsibility)对上述过程进行设计后得到的类图如图6-1所示。
【c++代码】
#include
#include
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 ;
}
温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!
信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。
信管网软考课程由信管网依托10年专业软考教研倾力打造,官方教材参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。
发表评论 查看完整评论 | |