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