定义一个名为Vehicles(交通工具)的基类,该类中应包含string类型的数据成员brand(商标)和color(颜色),还应包含成员函数run(行驶,在控制台显示“我已经开动了”)和showInfo(显示信息,在控制台显示商标和颜色),并编写构造函数初始化其数据成员的值。从Vehicles类派生出Car类(小汽车),增加int型数据成员seats(座位),还应增加成员函数showCar(在控制台显示小汽车的信息),并编写构造函数。在main函数中测试以上各类。
时间: 2023-12-31 22:03:21 浏览: 26
好的,以下是实现你所需的代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
// 定义交通工具类
class Vehicles {
protected:
string brand; // 品牌
string color; // 颜色
public:
Vehicles(string b, string c) : brand(b), color(c) { }
void run() { cout << "我已经开动了" << endl; }
void showInfo() { cout << "品牌: " << brand << ", 颜色: " << color << endl; }
};
// 定义小汽车类
class Car : public Vehicles {
private:
int seats; // 座位数
public:
Car(string b, string c, int s) : Vehicles(b, c), seats(s) { }
void showCar() { cout << "品牌: " << brand << ", 颜色: " << color << ", 座位数: " << seats << endl; }
};
int main() {
// 测试Vehicles类
Vehicles v1("Benz", "黑色");
v1.showInfo();
v1.run();
// 测试Car类
Car c1("BMW", "白色", 5);
c1.showCar();
c1.run();
return 0;
}
```
在上述代码中,我们首先定义了一个名为Vehicles的基类,其中包括了brand和color两个成员变量,以及run和showInfo两个成员函数。接着,我们从Vehicles类派生出了一个名为Car的子类,增加了一个座位数seats成员变量和一个showCar成员函数,并编写了构造函数来初始化数据成员的值。最后,在main函数中对这两个类进行了测试。
运行结果如下:
```
品牌: Benz, 颜色: 黑色
我已经开动了
品牌: BMW, 颜色: 白色, 座位数: 5
我已经开动了
```