声明一个车( Vehicle )基类,具有 MaxSpeed 、 Weight 等成员变量, Run 、 Stop 成员函数,由此派生出自行车( Bicycle )类、汽车( Motorcar )类。自行车( Bicycle )类有高度( Height )等属性,汽车( Motorcar )类有座位数( SeatNum )等属性
时间: 2024-01-05 20:03:03 浏览: 209
好的,这是一个面向对象的经典问题,我会给出一个C++的示例代码来实现这个功能。
```cpp
// 声明一个车(Vehicle)基类
class Vehicle {
public:
int MaxSpeed; // 最大速度
int Weight; // 重量
// 构造函数
Vehicle(int maxSpeed, int weight) {
MaxSpeed = maxSpeed;
Weight = weight;
}
// 运行
void Run() {
cout << "Vehicle is running." << endl;
}
// 停止
void Stop() {
cout << "Vehicle has stopped." << endl;
}
};
// 自行车(Bicycle)类,继承自车(Vehicle)类
class Bicycle : public Vehicle {
public:
int Height; // 高度
// 构造函数
Bicycle(int maxSpeed, int weight, int height) : Vehicle(maxSpeed, weight) {
Height = height;
}
};
// 汽车(Motorcar)类,继承自车(Vehicle)类
class Motorcar : public Vehicle {
public:
int SeatNum; // 座位数
// 构造函数
Motorcar(int maxSpeed, int weight, int seatNum) : Vehicle(maxSpeed, weight) {
SeatNum = seatNum;
}
};
```
在上面的代码中,我们定义了一个名为 `Vehicle` 的基类,该类拥有 `MaxSpeed` 和 `Weight` 两个成员变量,以及 `Run` 和 `Stop` 两个成员函数。然后我们又定义了两个派生类 `Bicycle` 和 `Motorcar`,它们分别拥有自己的属性 `Height` 和 `SeatNum`,并且继承了 `Vehicle` 基类的属性和方法。
这样,我们就可以通过创建 `Bicycle` 和 `Motorcar` 对象来使用这些类的属性和方法了。例如:
```cpp
Bicycle bike(30, 20, 100); // 创建一辆速度为 30,重量为 20,高度为 100 的自行车
Motorcar car(120, 1500, 5); // 创建一辆速度为 120,重量为 1500,座位数为 5 的汽车
bike.Run(); // 调用自行车的 Run 方法,输出 "Vehicle is running."
car.Stop(); // 调用汽车的 Stop 方法,输出 "Vehicle has stopped."
```
希望这个例子能够帮助你理解如何实现一个基类和派生类。
阅读全文