定义一个名为Vehicles(交通工具)的基类,该类中应包含string类型的数据成员brand(商标)和color(颜色),还应包含成员函数run(行驶,在控制台显示“我已经开动了”)和showInfo(显示信息,在控制台显示商标和颜色),并编写构造函数初始化其数据成员的值。 从Vehicles类派生出Truck类(卡车),增加float型成员属性load (载重),还应增加成员函数showTruck(在控制台显示卡车的信息),并编写构造函数。 在main函数中测试以上各类。
时间: 2024-02-04 07:03:18 浏览: 26
好的,根据您的需求,我给您提供如下的代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
class Vehicles {
public:
Vehicles(string brand, string color) : m_brand(brand), m_color(color) {}
void run() { cout << "我已经开动了" << endl; }
void showInfo() { cout << "商标:" << m_brand << ",颜色:" << m_color << endl; }
private:
string m_brand;
string m_color;
};
class Truck : public Vehicles {
public:
Truck(string brand, string color, float load) : Vehicles(brand, color), m_load(load) {}
void showTruck() { cout << "商标:" << m_brand << ",颜色:" << m_color << ",载重:" << m_load << endl; }
private:
float m_load;
};
int main() {
Vehicles v("奔驰", "黑色");
v.showInfo();
v.run();
cout << endl;
Truck t("东风", "蓝色", 10.5);
t.showTruck();
t.run();
return 0;
}
```
在上面的代码中,我们定义了一个名为Vehicles的基类,该类中包含商标和颜色两个数据成员,还包含run和showInfo两个成员函数,其中run函数用于在控制台显示“我已经开动了”,showInfo函数用于在控制台显示商标和颜色信息。在构造函数中,我们初始化了商标和颜色的值。
接下来,我们从Vehicles类派生出Truck类(卡车),增加了一个载重的数据成员load,并增加了一个成员函数showTruck用于在控制台显示卡车的信息。在构造函数中,我们初始化了商标、颜色和载重的值。
在主函数中,我们创建了一个Vehicles对象和一个Truck对象,并分别调用它们的成员函数进行信息的输出。
希望这个代码能够帮助到您,如果您还有其他问题,请随时问我。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)