网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

试题五(共15分)

阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。

采用状态( State)模式来实现该纸巾售卖机,得到如图5-2所示的类图。其中类State为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState和HasQuarterState分别对应图5-1中纸巾售卖机的4种状态:售出纸巾、纸巾售完、没有投币、有2元钱。

【C++代码】

include<iostream>

using namespace std;

∥以下为类的定义部分

class TissueMachine; //类的提前引用

class State{

public:

virtual void insertQuarter()=0; //投币

virtual void ejectQuarter()=0; //退币

virtual void turnCrank()=0; //按下“出纸巾”按钮

virtual void dispense()=0; //出纸巾

};

/*类SoldOutState. NoQuarterState. HasQuarterState. SoldState的定义省略,每个类中均定义了私有数据成员TissueMachine* tissueMachine;*/

class TissueMachine{

private:

(1) *soldOutState, *noQuarterState, *hasQuarterState,*soldState, *state;

int count, //纸巾数

public:

TissueMachine(int numbers);

void setState(State* state);

State* getHasQuarterState();

State* getNoQuarterState();

State* getSoldState();

State* getSoldOutState();

int getCount();

//其余代码省略

};

//以下为类的实现部分

void NoQuarterState::insertQuarter(){

tissueMachine->setState( (2) );

}

void HasQuarterState::ejectQuarter(){

tissueMachine->setState( (3) );

}

void SoldState::dispense(){

if(tissueMachine->getCount()>0){

tissueMachine->setState ( (4) );

}

else{

tissueMachine->setState( (5) );

}

}//其余代码省略


参考答案

更多 “ 试题五(共15分)阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。采用状态( State)模式来实现该纸巾售卖机,得到如图5-2所示的类图。其中类State为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState和HasQuarterState分别对应图5-1中纸巾售卖机的4种状态:售出纸巾、纸巾售完、没有投币、有2元钱。【C++代码】includeiostreamusing namespace std;∥以下为类的定义部分class TissueMachine; //类的提前引用class State{public:virtual void insertQuarter()=0; //投币virtual void ejectQuarter()=0; //退币virtual void turnCrank()=0; //按下“出纸巾”按钮virtual void dispense()=0; //出纸巾};/*类SoldOutState. NoQuarterState. HasQuarterState. SoldState的定义省略,每个类中均定义了私有数据成员TissueMachine* tissueMachine;*/class TissueMachine{private:(1) *soldOutState, *noQuarterState, *hasQuarterState,*soldState, *state;int count, //纸巾数public:TissueMachine(int numbers);void setState(State* state);State* getHasQuarterState();State* getNoQuarterState();State* getSoldState();State* getSoldOutState();int getCount();//其余代码省略};//以下为类的实现部分void NoQuarterState::insertQuarter(){tissueMachine-setState( (2) );}void HasQuarterState::ejectQuarter(){tissueMachine-setState( (3) );}void SoldState::dispense(){if(tissueMachine-getCount()0){tissueMachine-setState ( (4) );}else{tissueMachine-setState( (5) );}}//其余代码省略 ” 相关考题
考题 阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。Command模式的类图如图5-1所示。【c++代码】}

考题 试题三(共 15 分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。

考题 试题六(共15分)阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图6-1所示。采用状态( State)模式来实现该纸巾售卖机,得到如图6-2所示的类图。其中类State为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState和HasQuarterState分别对应图6-1中纸巾售卖机的4种状态:售出纸巾、纸巾售完、没有投币、有2元钱。【Java代码】import j ava.util.*;interface State{public void insertQuarter(); //投币public void ejectQuarter(); //退币public void turnCrank();腑安下“出纸巾”按钮public void dispense(); //出纸巾}class TissueMachine {( 1 ) soldOutState, noQuarterState, hasQuarterState, soldState, state;state = soldOutState;int count = 0; //纸巾数public TissueMachine(intnumbers) { /*实现代码省略 */}public StategetHasQuarterState() { returnhasQuarterState; }public StategetNoQuarterState() { returnnoQuarterState, }public State getSoldState() { return soldState; }public State getSoldOutState() { return soldOutState; }public int getCount() { return count, }//其余代码省略}class NoQuarterState implements State {TissueMachine tissueMachine;public void insertQuarter() {tissueMachine.setState( (2));}//构造方法以及其余代码省略}class HasQuarterState implements State {TissueMachine tissueMachine;public void ejectQuarter() {tissueMachine.setState ((3));}//构造方法以及其余代码省略}class SoldState implements State {TissueMachine tissueMachine;public void dispense() {if(tissueMachine.getCount() 0) {tissueMachine.setState ((4));} else {tissueMachine.setState ((5)); }}}

考题 阅读下列说明和 C ++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上留 下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy)设计模式来实现该需求,所设计的类图如图 6-1 所示。 【C++ 代码】#includeusing namespace std;class BrakeBehavior{public:(1) ; /*其余代码省略*/};class LongWheelBrake : public BrakeBehavior{public:void stop(){cout

考题 阅读下列说明和C++-代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图5-1所示的类图。 【C++代码】 #include using namespace std; class invoice{ public: (1){ cout

考题 阅读下列说明和C++代码,回答问题,将解答填入答题纸的对应栏内。 【说明】某航空公司的会员积分系统将其会员划分为:普卡 (Basic)、银卡(Silver)和金卡 (Gold) 三个等级。非会员 (NonMember) 可以申请成为普卡会员。会员的等级根据其一年内累积 的里程数进行调整。描述会员等级调整的状态图如图 5-1 所示。现采用状态 (State) 模式实现上述场景,得到如图 5-2 所示的类图。 【问题1】(15分)阅读上述说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

考题 阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上 留 下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy) 设 计模式来实现该需求,所设计的类图如图 5-1 所示。

考题 【说明】 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。

考题 阅读下列说明和?C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 阅读下列说明和?Java代码,将应填入?(n)?处的字句写在答题纸的对应栏内。 【说明】 某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种 类可能不同,但其制作过程相同。前台服务员?(Waiter)?调度厨师制作套餐。现采用生成器?(Builder)?模式实现制作过程,得到如图?6-1?所示的类图。