C++编写程序设计一个汽车类 Vehicle,包含的数据成员有车轮个数 wheels 和车重 weight。小车类 Car 是它的派生类,其中包含载人数 passenger_load。卡车类 Truck 也是 Vehicle 的派生类,其中包含载人数 passenger_load 和载重量 payload。每个类都有相关数据的输出方法。
时间: 2024-02-06 10:11:03 浏览: 271
好的,以下是C++代码实现:
```cpp
#include <iostream>
using namespace std;
class Vehicle {
protected:
int wheels; // 车轮个数
float weight; // 车重
public:
Vehicle(int w, float we): wheels(w), weight(we) {} // 构造函数
virtual void display() const { // 虚函数,显示车辆信息
cout << "Vehicle: wheels=" << wheels << ", weight=" << weight << endl;
}
};
class Car : public Vehicle {
protected:
int passenger_load; // 载人数
public:
Car(int w, float we, int p): Vehicle(w, we), passenger_load(p) {} // 构造函数
void display() const { // 覆盖基类虚函数
cout << "Car: wheels=" << wheels << ", weight=" << weight << ", passenger_load=" << passenger_load << endl;
}
};
class Truck : public Vehicle {
protected:
int passenger_load; // 载人数
float payload; // 载重量
public:
Truck(int w, float we, int p, float pay): Vehicle(w, we), passenger_load(p), payload(pay) {} // 构造函数
void display() const { // 覆盖基类虚函数
cout << "Truck: wheels=" << wheels << ", weight=" << weight << ", passenger_load=" << passenger_load << ", payload=" << payload << endl;
}
};
int main() {
Vehicle v(4, 1000);
v.display();
Car c(4, 800, 5);
c.display();
Truck t(6, 3000, 3, 5000);
t.display();
return 0;
}
```
在 main 函数中,我们分别创建了 Vehicle、Car 和 Truck 对象,并分别调用了它们的 display 方法,输出了车辆信息。
输出结果为:
```
Vehicle: wheels=4, weight=1000
Car: wheels=4, weight=800, passenger_load=5
Truck: wheels=6, weight=3000, passenger_load=3, payload=5000
```
阅读全文