【简答题】
从下列2道试题(试题5至试题6)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。
阅读下列说明、图和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_HEELS]; Passenger * passengers[MAX_PASSENGERS];
public:
Car(Driver * driver){//构造函数
this->driver=driver;
engine=new Engine("TX6536型号引擎");
int index;
for (index=0; index<MAX_HEELS; index++){
wheels[index]=new Wheel();
}
for(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();
}
手机使用
分享
复制链接
新浪微博
分享QQ
微信扫一扫
微信内点击右上角“…”即可分享
反馈
收藏
举报
参考答案:
参考解析: