问题 多项选择题

劳动和社会保险法律适用的基本规则是()

A.原则上保持历史的连续性

B.上位法的效力高于下位法

C.同位法中特别规定与一般规定不一致时,适用一般规定

D.同位法中新的规定与旧的规定不一致,适用新的规定

E.原则上不溯及既往

答案

参考答案:B, D, E

解析:参见教材P231

问答题

【说明】

已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批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)~(7)处中。

单项选择题