请用C++帮我写一份代码,输出客车的基本信息(品牌、颜色、座位数)、货车的基本信息(品牌、颜色、载重量);,要求程序可执行,体现程序的封装,继承和多态性
时间: 2023-07-10 15:25:04 浏览: 86
一个用C++编写的出租车管理系统
4星 · 用户满意度95%
好的,这是一份使用C++实现的代码,可以输出客车和货车的基本信息,同时体现了程序的封装、继承和多态性:
```c++
#include <iostream>
using namespace std;
// 定义车辆类
class Vehicle {
protected:
string brand; // 品牌
string color; // 颜色
public:
// 构造函数
Vehicle(string b, string c) {
brand = b;
color = c;
}
// 输出基本信息
virtual void showInfo() {
cout << "品牌:" << brand << endl;
cout << "颜色:" << color << endl;
}
};
// 定义客车类,继承自车辆类
class Bus : public Vehicle {
private:
int seats; // 座位数
public:
// 构造函数
Bus(string b, string c, int s) : Vehicle(b, c) {
seats = s;
}
// 输出基本信息
void showInfo() {
cout << "客车信息:" << endl;
Vehicle::showInfo();
cout << "座位数:" << seats << endl;
}
};
// 定义货车类,继承自车辆类
class Truck : public Vehicle {
private:
int load; // 载重量
public:
// 构造函数
Truck(string b, string c, int l) : Vehicle(b, c) {
load = l;
}
// 输出基本信息
void showInfo() {
cout << "货车信息:" << endl;
Vehicle::showInfo();
cout << "载重量:" << load << "吨" << endl;
}
};
int main() {
// 创建客车和货车对象
Bus bus("奔驰", "白色", 50);
Truck truck("东风", "红色", 10);
// 输出客车和货车的基本信息
bus.showInfo();
cout << endl;
truck.showInfo();
cout << endl;
return 0;
}
```
这个程序中,我们定义了一个基类 `Vehicle`,用于表示车辆的基本信息,包括品牌和颜色;然后定义了两个派生类 `Bus` 和 `Truck`,分别表示客车和货车,它们都继承自基类 `Vehicle`。在每个类中,我们都定义了一个 `showInfo()` 函数,用于输出车辆的基本信息,同时使用 `virtual` 关键字表明这个函数可以被子类重写。在 `main()` 函数中,我们创建了一个 `Bus` 对象和一个 `Truck` 对象,并调用它们的 `showInfo()` 函数输出基本信息。
阅读全文