编写程序声明一个车(vehicle)基类,有run, stop等成员函数,由此派生出自行车(bicycle)类,汽车(motorcar)类,由bicycle和motorcar派生出摩托车(motorcycle)类。
时间: 2024-03-21 08:40:55 浏览: 84
以下是一个基于C++的程序示例:
```cpp
#include <iostream>
using namespace std;
class Vehicle {
public:
void run() {
cout << "Vehicle is running." << endl;
}
void stop() {
cout << "Vehicle has stopped." << endl;
}
};
class Bicycle : public Vehicle {
public:
void run() {
cout << "Bicycle is running." << endl;
}
void stop() {
cout << "Bicycle has stopped." << endl;
}
};
class Motorcar : public Vehicle {
public:
void run() {
cout << "Motorcar is running." << endl;
}
void stop() {
cout << "Motorcar has stopped." << endl;
}
};
class Motorcycle : public Bicycle, public Motorcar {
public:
void run() {
cout << "Motorcycle is running." << endl;
}
void stop() {
cout << "Motorcycle has stopped." << endl;
}
};
int main() {
Vehicle v;
v.run();
v.stop();
Bicycle b;
b.run();
b.stop();
Motorcar m;
m.run();
m.stop();
Motorcycle mc;
mc.run();
mc.stop();
return 0;
}
```
在这个程序中,我们定义了一个基类 `Vehicle`,它有两个成员函数 `run()` 和 `stop()`。然后我们分别派生出了自行车类 `Bicycle` 和汽车类 `Motorcar`,它们都重载了基类的成员函数。
最后,我们又通过多重继承的方式定义了摩托车类 `Motorcycle`,它既是自行车类的派生类,又是汽车类的派生类。在 `Motorcycle` 中,我们又重载了基类的成员函数。
在 `main()` 函数中,我们分别创建了基类和派生类的对象,并调用它们的成员函数,从而演示了继承的使用方法。
阅读全文