信管网案例分析

导航

软件设计师下午真题及答案18

2021年08月24日来源:信管网 作者:cnitpm

为帮助广大软考中级软件设计师考生更好备考,信管网特整理汇总了软件设计师部分下午真题、答案及解析供考生查阅,并提供免费在线模拟答题、历年真题免费下载等服务,了解软件设计师更多备考信息请关注信管网。

相关推荐:

点击查看/下载:软件设计师历年真题汇总

点击查看:软件设计师在线培训课程 丨 免费试听课程

免费练习:软件设计师考试题库(模拟试题、章节练习、每日一练)

阅读下列说明和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 ;

}

查看答案及解析:www.cnitpm.com/st/2456210781.html

温馨提示:因考试政策、内容不断变化与调整,信管网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

分享至:
请使用浏览器的分享功能,把好文章分享给更多的人

信管网 - 信息系统项目管理专业网站

下载APP-在线学习

培训课程

0元畅享

考试题库

免费资料

APP下载