阅读下列说明、图和C抖代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 已知对某载客车辆(Car)进行类建模,如图5-1所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Pass

admin2009-05-15  16

问题 阅读下列说明、图和C抖代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
   已知对某载客车辆(Car)进行类建模,如图5-1所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。

【C++代码】
   const int(1)=7;          //定义最多载客数
   const int MAX WHEELS=5;    //定义最多轮胎数

   class Body{                 //此处代码省略  };    //车身类
   class Passenger{           //此处代码省略  };    //乘客类
   class Wheel{              //此处代码省略  };    //车轮类
   class Driver{       //司机类
   public:
      string name;//表示第几路公交车司机
      Driver(string driverName):name((2)){}///构造函数
   };
   class Engine{//引擎类
   public:
      string engineNo;//引擎编号
      Engine(string engineNo){(3)->engineNo=engineNo;}//构造函数
   };
   class Car{//汽车类
   protected:
      Engine * engine;    Driver * driver;    Body body;
      Wheel * wheels [MAX_WHEELS];Passenger * passengers [MAX_PASSENGERS];
   public:
      Car(Driver *driver){  //构造函数
        this->driver=driver;
        engine=new Engine("TX6536型号引擎");
        for  (int index=0;  index<MAX WHEELS;index++){
           wheels[index]=new Wheel();
        }
        for(int index=0;index<MAX_PASSENGERS;index++){
           passengers[index]=NULL;
        }
      }
      virtual ~Car(){//析构函数
        for( int index=0;index<MAX_WHEELS;index++)
          delete wheels[index];
        delete(4);
      }
      int getPassengerNumber(){//获取车上乘客数量
         //此处代码省略
      }
      void getOnPassenger(Passenger * aPassenger){//乘客上车
          //此处代码省略
      }
      void run(){  //开车
         if(driver==NULL){cout<<"司机尚未上车!";  return;  }
         //此处代码省略
      }
   };
   void main(){
      Driver driver("第五路公交车司机");
      Car car((5));
      Passenger passengers[MAX_PASSENGERS];
      for(int index=0;index<MAX PASSENGERS;index ++)  //乘客上车处理
         car.getOnPassenger(&passengers [index]);
      car.run();
   }

选项

答案(1)MAX_PASSENGERS (2)driverName (3)this (4)engine (5)&driver

解析 根据类图描述,分析可得:一辆汽车可以载0~7名乘客,一辆汽车可以被一个或者多个司机驾驶,并且一辆汽车有4~5个轮胎,一个引擎和一个车框架。程序代码中空(1)处表示一辆汽车最多载客数目,  从后面的程序代码[分析]可得,  应该填写 MAX PASSENGERS。空(2)处主要设置车的假设司机,由于参数的名称与成员变量的名称相同,因此需要加上this以示区别。空(3)处主要用于判断司机是否上车,因此,代码应该对汽车所维持的司机对象的引用是否为空进行判断。空(4)处用于产生一个汽车对象,所以,需要给汽车对象传递合适的参数,构造方法中需要传递一个司机对象,因此应该将driver对象传递到汽车对象中。空(5)处表示乘客上车,getOnPassenger要求传递的是乘客对象,因此空缺处应为构造乘客对象的代码。
转载请注明原文地址:https://jikaoti.com/ti/6kW7FFFM
0

最新回复(0)