】设计一个抽象类Vehicle,其中包含2个纯虚函数setdata()和show();由它派生出类Car和类Truck,类Car包含名称、颜色、载客数3个数据成员,类Truck包含名称、颜色、载重量3个数据成员
2条回答 默认 最新
threenewbee 2023-06-10 09:08关注#include <iostream> #include <string> using namespace std; // 抽象类 Vehicle class Vehicle { public: virtual void setdata() = 0; virtual void show() = 0; }; // 派生类 Car class Car : public Vehicle { private: string name; string color; int passenger_num; public: void setdata() { cout << "请输入汽车的名称:"; cin >> name; cout << "请输入汽车的颜色:"; cin >> color; cout << "请输入汽车的载客数:"; cin >> passenger_num; } void show() { cout << "汽车的名称为:" << name << endl; cout << "汽车的颜色为:" << color << endl; cout << "汽车的载客数为:" << passenger_num << endl; } }; // 派生类 Truck class Truck : public Vehicle { private: string name; string color; int load_weight; public: void setdata() { cout << "请输入卡车的名称:"; cin >> name; cout << "请输入卡车的颜色:"; cin >> color; cout << "请输入卡车的载重量:"; cin >> load_weight; } void show() { cout << "卡车的名称为:" << name << endl; cout << "卡车的颜色为:" << color << endl; cout << "卡车的载重量为:" << load_weight << endl; } }; int main() { Vehicle* pVehicle; Car car; Truck truck; pVehicle = &car; pVehicle->setdata(); pVehicle->show(); pVehicle = &truck; pVehicle->setdata(); pVehicle->show(); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 2无用