应用题
1. 请使用VC6或使用【答题】菜单打开
考生文件夹proj2下的工程proj2,其中定义了vehicle类,并派生出motorcar类和bicycle类。然后以motorcar和bicycle作为基类,再派生出motorcycle类。要求将vehicle作为虚基类,避免二义性问题。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
80
150
100
1
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“// ****found****”。
#include <iostream.h>
class vehicle
{
private:
int MaxSpeed;
int Weight;
public:
// *********found**********
vehicle (int maxspeed, int weight):______
~vehicle() {};
int getMaxSpeed() {return MaxSpeed;}
int getWeight() {return Weight;}
};
// **********found**********
class bicycle:______ public vehicle
{
private:
int Height;
public:
bicycle (int maxspeed, int weight, int height): vehicle (maxspeed, weight), Height (height) {}
int getHeight () {return Height;};
};
// **********found**********
class motorcar:______ public vehicle
{
private:
int SeatNum;
public:
motorcar (int maxspeed, int weight, int seatnum):vehicle (maxspeed, weight), SeatNum (seatnum) {}
int getSeatNum() {return SeatNum;};
};
// **********found**********
class motorcycle:______
{
public:
motorcycle(int maxspeed, int weight, int height): vehicle (maxspeed, weight), bicycle (maxspeed, weight, height), motorcar (maxspeed, weight, 1) {}
};
void main()
{
motorcycle a(80,150,100);
cout << a.getMaxSpeed() << endl;
cout << a.getWeight() << endl;
cout << a.getHeight() << endl;
cout << a.getSeatNum() << endl;
}