题目内容

阅读以下说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
某应急交通控制系统(TraficControISy ,tem)在红灯时控制各类车辆(Vehicle)的通
行,其类图如图5-1所示,在紧急状态下应急车辆红灯时也可通行,其余车辆按正常规
则通行。
下面的C++代码实现以上设计,请完善其中的空缺。
include <typeinfo>
include <iostream>
using namespace std;
class Vehicle {/*抽象基类,车辆*/
public :
virtual void run () = 0;
};
class Emergency(/*抽象基类,可在红灯时通行的接口,函数均为纯虚函数*/
public:
(1)=0 //isEmergent()函数接口
(2)=0 //runRedLight()函数接口
};
class Car: public Vehicle {
public :
-car(){ }
void run () { /*代码略*/ }
};
Ciass Truck:public vehicie {
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 () { ret irn (4) ; }
void runRedLight () { /*代码略*/ }
};
/*类Ambulance. FireEngine/*实现代码略*/
class TraficControISystem {/*交通控制类*/
private :
Vehicle*v[24]; int numVeh: cles./*在构造函数中设置初始值为0*/
public:
void control(){ //控制在紧急情况下应急车辆红灯通行,其他情况按常规通行
for (int i = 0; i<[numVehicles;++] {
Emergency*ev=dynamic_cast<Emergency*(v[i]);
if (ev !=0(5)-: runRedLight ()
Else (6)-:run()
}
}
Void add(vehicle){v[numvehicles++]=vehicle;}
/*添加车辆*/
Void shutdown(){for (int i =0;i<numvehicles;i++){ deletev[i];} }
}
int main () {
TraficControlSystem* tcs =new TraficControlSystem;
tcs->add (new Car () );, t cs->add (new PoliceCar ()) ;
tcs->add (new Ambulance ()) ; tcs- >add (new Ambulance (true)) ;
tcs->add (new FireEngine (true)) ; -.cs->add (new FireEngine ()) ;
tcs->add (new Truck ()) ;
tcs->control () ; tcs->shul Down () ;
delete tcs;
}

查看答案
更多问题

激励性股票期权公允价值计量。

A. 对
B. 错

在造血器官中,血红素的合成部位是

A. 线粒体与胞质
B. 内质网与线粒体
C. 线粒体与微粒体
D. 胞浆与核糖体
E. 线粒体

下列有关泡沫灭火系统的说法正确的是()。

A. 常压泡沫液储罐中泡沫液管道出液口不能高于泡沫液储罐最低液面1.5m
B. 油罐甲、乙、丙类固定顶储罐与内浮顶罐可以采用中倍数泡沫灭火系统
C. 当泡沫液储罐上的控制阀距地面高度大于1.7m时,需要在操作面处设置操作平台或操作凳
D. 泡沫液储罐周围要留有满足检修需要的通道,其宽度不能小于0.7m,且操作面宽度不能小于1.5m

为血红素合成限速酶的是

ALA脱水酶
B. ALA合酶
C. 尿胆色素原脱氨酶
D. 转氨酶
E. 血红素合成酶

答案查题题库