首页 试题详情
问答题

阅读以下说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。 [说明] 某应急交通控制系统(TraficControlSystem)在红灯时控制各类车辆(Vehicle)的通行,其类图如下图所示,在紧急状态下应急车辆红灯时也可通行,其余车辆按正常规则通行。 下面的C++代码实现以上设计,请完善其中的空缺。 [C++代码]#include<typeinfo>#include<iostream>using namespace std;class Vehicle {/*抽象基类,车辆*/public:virtual void run()=0;};class Emergency { /*抽象基类,可在红灯时通行的接口,函数均为纯虚函数*/public:______=0; //isEmergent()函数接口______=0; //runRedLight()函数接口};clasS Car:public Vehicle{public:~Car(){}void run(){/*代码略*/ ));class Truck:public Vehicle{public:~Truck(){}void run(){ /*代码略*/ });class PoliceCar:______ {private:bool isEmergency;public:PoliceCar():Car(),Emergency() { this->isEmergency=false;}PoliceCar(bool b):Car(),Emergency() {this->isEmergency=b;}~P0liceCar(){ }bool isEmergent(){ return ______}void runRedLight() { /*代码略*/ });/*类Ambulance、FireEngine实现代码略*/class TraficControlsystem { /*交通控制类*/private:Vehicle*v[24]; int numVehicles;/*在构造函数中设置初始值为0*/public:void control(){ //控制在紧急情况下应急车辆红灯通行,其他情况按常规通行for(int i=0;i<numVehicles; i++){Emergency *ev=dynamic_cast<Emergency*>(v[i]);if(ev !=0) ______->runRedLight();else ______->run();}}void add(Vehicle*vehicle) { v[numVehicles++] =vehicle; }/*添加车辆*/void shutDown() {for(int i=0; i<numVehicles; i++) { delete v[i];} }};int main(){TraficControlSystem*tcs=new TraficControlSystem;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->contr01();tcs->ShutDown();delete tcs;}

正确答案:A (备注:此答案有误)

相似试题

  • 问答题

    阅读以下说明C++代码填充代码中的空缺,将解答填入答题纸的对应栏内。[说明]某应急交通控制系统(TraficControlSystem)在红灯时控制各类车辆(Vehicle)的通行,其类图如下图所示,在紧急状态下应急车辆红灯时也可通行,其余车辆按正常规则通行。下面的C++代码实现以上设计,请完善其中的空缺。[C++代码]#include<typeinfo>#include<iostream>using namespace std;class Vehicle {/*抽象基类,车辆*/public:virtual void run()=0;};class Emergency { /*抽象基类,可在红灯时通行的接口,函数均为纯虚函数*/public:______=0; //isEmergent()函数接口______=0; //runRedLight()函数接口};clasS Car:public Vehicle{public:~Car(){}void run(){/*代码略*/ ));class Truck:public Vehicle{public:~Truck()

    答案解析

  • 问答题

    试题六(共 15 分)阅读下列说明 C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明以下 C++代码实现一个简单的聊天室系统(ChatRoomSystem),多个用户 (User)可以向聊天室(ChatRoom)发送消息,聊天室将消息展示给所有用户。 类图如图 6-1 所表示。 【C++代码】#include<iostream>#include <string> using namespace std; class User {private:string name; public:User(string name){ (1) =name;}~User(){} void setName(string name) {this->name=name; } string getName(){return name;}void sendMessage(string message); }; class ChatRoom { . public:static void showMessage(User* user, string message) { cout<<[<<

    答案解析

  • 问答题

    阅读以下说明Java代码填充程序中的空缺,将解答填入答题纸的对应栏内。[说明]某应急交通控制系统(TraficControlSystem)在红灯时控制各类车辆(Vehicle)的通行,其类图如下图所示,在紧急状态下应急车辆在红灯时可通行,其余车辆按正常规则通行。下面的Java代码实现以上设计,请完善其中的空缺。[Java代码]abstract class Vehicle{public Vehicle(){ }abstract void run();};interface Emergency{ ______; ______;};class Car extends Vehicle{public Car(){ }void run(){ /*代码略*/ }};Class Truck extends Vehicle{public Truck(){ }void run() { /*代码略*/ }};class PoliceCar ______ {boolean isEmergency= false;public PoliceCar(){ }public PoliceCa

    答案解析

  • 问答题

    第六题 阅读下列说明C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明以下C++代码实现一个超市简单销售系统中的部分功能,顾客选择图书等物品(Item)加入购物车(ShoppingCart),到收银台(Cashier)对每个购物车中的物品统计其价格进行结账,设计如图6-1所示类图。using namespace std;class Book;class Visitor {public: virtual void visit(Book* book)=0; //其它物品的visit方法};class Item {public:virtual void accept(Visitor* visitor)=0; virtual double getPrice()=0;};class Book (1){private: double price;public: Book (double price){ //访问本元素 (2); } void accept(Vis

    答案解析

  • 问答题

    阅读下列说明C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。【说明】n-皇后问题是在n行n列的棋盘上放置n个皇后,使得皇后彼此之间不受攻击,其规则是任意两个皇后不在同一行、同一列相同的对角线上。拟采用以下思路解决n-皇后问题:第i个皇后放在第i行。从第一个皇后开始,对每个皇后,从其对应行(第i个皇后对应第i行)的第一列开始尝试放置,若可以放置,确定该位置,考虑下一个皇后;若与之前的皇后冲突,则考虑下一列;若超出最后一列,则重新确定上一个皇后的位置。重复该过程,直到找到所有的放置方案。【C代码】下面是算法的C语言实现。(1)常量变量说明pos:一维数组,pos[i]表示第i个皇后放置在第i行的具体位置count:统计放置方案数i,j,k:变量N:皇后数【问题1】(10分)根据以上说明C代码填充C代码中的(1)~(5)。【问题2】(2分)根据以上说明C代码,算法采用了(6)设计策略。【问题3】(3分)上述C代码的输出为:(7)。

    答案解析

热门题库