未分类题

某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上留下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy)设计模式来实现该需求,所设计的类图如图6-1所示。
中级软件设计师,历年真题,2019年上半年(下午)《软件设计师》真题
【C++代码】
#include<iostream>
using namespace std;
class BrakeBehavior{
public:
(1);
/*其余代码省略*/
};
class LongWheelBrake:public BrakeBehavior{
public:
void stop(  ){cout<<"模拟长轮胎刹车痕迹!"<<end1;}
/*其余代码省略*/
};
class ShortWheelBrake:public BrakeBehavior{
public:
void stop(  ){cout<<"模拟短轮胎刹车痕迹!"<<end1;}
/*其余代码省略*/
};
class Car{
protected:
(2)wheel;
public:
void brake(  ){(3);}
/*其余代码省略*/
};
class ShortWheelCar:public Car{
public:
ShortWheelCar(BrakeBehavior*behavior){
(4);
}
/*其余代码省略*/
};
int main(  ){
BrakeBehavior*brake=new ShortWheelBrake(  );
ShortWheelCar car1(brake):
car1.(5);
return 0;
}

【参考答案】

(1)virtual void stop()=0
(2)BrakeBehavior*
(3)wheel-......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题