专注在线职业教育23年
下载APP
小程序
希赛网小程序
导航

预约成功后,不错过重要时期

点击预约

2007上半年软件设计师下午试题[11]

责编:cr83153120 2010-03-04

[C++代码]

#include<iostream>

using namespace  1;

class FlyBehavior {

public : 2  fly() = 0;

};

class QuackBehavior {

public: 3  quack() = 0;

};

class FlyWithWings:public FlyBehavior{

public: void fly(){ cout << "使用翅膀飞行 !" << endl; }

};

class FlyNoWay:public FlyBehavior{

public: void fly(){ cout << "不能飞行 !" << endl; }

};

class Quack:public QuackBehavior{

public: void quack(){ cout << "发出\'嘎嘎\'声 !" << endl; }

};

class Squeak:public QuackBehavior{

public: void quack(){ cout << "发出空气与橡皮摩擦声 !" << endl;

};

class QuackNoWay:public QuackBehavior{

public: void quack (){ cout << "不能发声 !" << endl; }

};

class Duck {

protected:

  FlyBehavior * 4 ;

  QuackBehavior * 5 ;

public:

  void fly(){ 6 ;  }

  void quack() { 7 ; };

  virtual void display()=0;

};

class RubberDuck: public Duck {

public:

  RubberDuck(){ 

  flyBehavior = new  8 ;

  quackBehavior = new  9 ;

  }

  ~RubberDuck(){

  if(!flyBehavior) delete flyBehavior;

  if(!quackBehavior) delete quackBehavior;

  }

  void display(){ /*此处省略显示橡皮鸭的代码 */  }

};

//其它代码省略

[答案讨论]

[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9]  [10]  [11]  [12]  [13]  

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
相关阅读
查看更多

加群交流

公众号

客服咨询

考试资料

每日一练