编写程序声明一个车(vehicle)基类,有run, stop等成员函数,由此派生出自行车(bicycle)类,汽车(motorcar)类,由bicycle和motorcar派生出摩托车(motorcycle)类。
时间: 2024-05-04 12:22:41 浏览: 232
用c++ 定义一个车(Vehicle)基类,有Run,Stop等成员函数,由此派生出自行车(bicycle)类,汽车(motorcar)
以下是一个可能的实现:
```c++
#include <iostream>
class Vehicle {
public:
void run() {
std::cout << "The vehicle is running.\n";
}
void stop() {
std::cout << "The vehicle has stopped.\n";
}
};
class Bicycle : public Vehicle {
};
class Motorcar : public Vehicle {
};
class Motorcycle : public Bicycle, public Motorcar {
};
int main() {
Bicycle bike;
bike.run();
bike.stop();
Motorcar car;
car.run();
car.stop();
Motorcycle bike_car;
bike_car.Bicycle::run();
bike_car.Motorcar::run();
bike_car.stop();
return 0;
}
```
在这个实现中,`Vehicle` 基类定义了 `run()` 和 `stop()` 成员函数。`Bicycle` 和 `Motorcar` 类均继承了 `Vehicle`,并没有添加新的成员函数或数据成员。`Motorcycle` 类同时继承了 `Bicycle` 和 `Motorcar`,因此它拥有了 `Bicycle` 和 `Motorcar` 类中的所有成员(包括 `Vehicle` 中的成员)。在 `main()` 函数中,我们可以创建 `Bicycle`、`Motorcar` 和 `Motorcycle` 的实例,调用它们的成员函数。由于 `Motorcycle` 继承自 `Bicycle` 和 `Motorcar`,因此我们需要指定调用哪个类的 `run()` 函数。
阅读全文