#include
閱讀以下說明和C++代碼,填充程序中的空缺,將解答填入答題紙的對應(yīng)欄內(nèi)。女人久久久www免费人成看片,国内自拍偷拍网,国产一区二区三区免费在线观看,欧美精品三区四区,91久久国产综合久久91,欧美成人精品第一区二区三区
,美女成人在线观看
【說明】
某應(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)試題