#includeusingnamespacestd;classVehicle{/*抽象基類,車..."/>

女人久久久www免费人成看片,国内自拍偷拍网,国产一区二区三区免费在线观看,欧美精品三区四区,91久久国产综合久久91,欧美成人精品第一区二区三区 ,美女成人在线观看

軟題庫 移動APP 掃碼下載APP 隨時隨地移動學(xué)習(xí) 培訓(xùn)課程
試卷名稱 2013年下半年程序員考試下午真題試題(案例分析)
考試中心《2013年下半年程序員考試下午真題試題(案例分析)》在線考試
試卷年份2013年下半年
試題題型【分析簡答題】
試題內(nèi)容

閱讀以下說明和C++代碼,填充程序中的空缺,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
某應(yīng)急交通控制系統(tǒng)(TraficControlSystem)在紅燈時控制各類車輛 (Vehicle)的通行,其類圖如圖5-1所示,在緊急狀態(tài)下應(yīng)急車輛在紅燈時可通行,其余車輛按正常規(guī)則通行。
下面的C++代碼實現(xiàn)以上設(shè)計,請完善其中的空缺。

【C++代碼】
     #include <typeinfo>
     #include <iostream>
     using namespace std;
     class Vehicle  {  /*抽象基類,車輛*/
     public:
     virtual void run( )  = 0;
     };
    class Emergency  { /*抽象基類,可在紅燈時通行的接口,函數(shù)均為純虛函數(shù)*/
    public:
          (1)    =  0;           // isEmergent ( )函數(shù)接口
          (2)    = 0;            // runRedLight( ) 函數(shù)接口
     };
     class Car: public Vehicle  {
     public:
          ~Car ( ) {   }
          void  run ( ) {  /*代碼略*/}
     };
     class Truck: public Vehicle  {
     public:
           ~Truck( ) {    }
          void  run   ( )    {  /*代碼略*/  }
     };
     class PoliceCar:  (3)  {
     private:
          bool isEmergency;
     public:
          PoliceCar( )  : Car( ) ,Emergency( ){  this->isEmergency  = false;
     }
     PoliceCar(bool  b)   : Car( ) ,Emergency( ) {  this->isEmergency  =  b;}
          ~policeCar ( )    {  }
          bool  isEmergent ( )   {  return  (4) ;    }
          void   runRedLight( )  {                 /*代碼略*/       }
     };
     /*類Ambulance、 FireEngine 實現(xiàn)代碼略*/
     class  TraficControlSystern  {  /*交通控制類*/
     private:
         Vehicle* v[24};  int nurnVeh:cles;  /*在構(gòu)造函數(shù)中設(shè)置初始值為0*/
     public:
         void  control() {  //控制在緊急情況下應(yīng)急車輛紅燈通行,其他情況按常規(guī)通行
             for  (int  i =  0;  i <  numVehicles ;  i++)   {
                  Emergency * ev = dynamic_cast<Emergency*>(v[i]);
                  if (ev  != 0)          (5)  ->runRedLight () ;
                  else                    (6)  ->run () ;
              }
      }
      void  add(Vehicle * vehicle)    {  v[numVehicles++]   = vehicle;
                                       / *添加車輛./
      void shutDown()  {  for  (int i = 0;  i <  numVehicles;  i++)  {  delete    
      v[i];  }       }
    } ;
    int main( )  {
            TraficControlSystern. tcs = new TraficControlSystern;
            tcs->add(new  Car( ));  tcs->add(new   PoliceCar( ));
         tcs->add(new Ambulance( ));tcs->add(new Ambulance(true));
       tcs->add(new  FireEngine(true));  tcs->add(new  FireEngine( ));
       tcs->add(new  Truck( ));
       tcs->control( );  tcs->shutDown( );
           delete  tcs;
       }


相關(guān)試題

推薦文章
合作網(wǎng)站內(nèi)容