声明一个车( Vehicle )基类,具有 MaxSpeed 、 Weight 等成员变量, Run 、 Stop 成员函数,由此派生出自行车( Bicycle )类、汽车( Motorcar )类。自行车( Bicycle )类有高度( Height )等属性,汽车( Motorcar )类有座位数( SeatNum )等属性。从 Bicycle 和 Motorcar 派生出摩托车 ( Motorcycle )类,在继承过程中,注意把 vehicle 设置为虚基类。
时间: 2024-01-17 13:05:04 浏览: 97
车(Vehicle)基类,具有MaxSpeed、Weight等成员变量
5星 · 资源好评率100%
好的,以下是您想要的代码:
```cpp
class Vehicle {
public:
int MaxSpeed;
int Weight;
virtual void Run() {}
virtual void Stop() {}
};
class Bicycle : virtual public Vehicle {
public:
int Height;
};
class Motorcar : virtual public Vehicle {
public:
int SeatNum;
};
class Motorcycle : public Bicycle, public Motorcar {
};
```
在这个代码中,我们声明了一个基类 `Vehicle`,其中包含了 `MaxSpeed` 和 `Weight` 两个成员变量,以及 `Run()` 和 `Stop()` 两个成员函数。然后,我们从 `Vehicle` 派生出了 `Bicycle` 和 `Motorcar` 两个类,并在派生过程中将 `Vehicle` 设置为虚基类,以避免出现多次继承时的二义性问题。`Bicycle` 类中新增了 `Height` 属性,`Motorcar` 类中新增了 `SeatNum` 属性。最后,我们从 `Bicycle` 和 `Motorcar` 派生出了 `Motorcycle` 类,这个类同时具有 `Bicycle` 和 `Motorcar` 的属性。
阅读全文