用c加加写一个基类:过境人员,派生类:游客、卡车司机、商务旅客的长代码,要求用到封装 继承和多态
时间: 2023-05-13 19:05:12 浏览: 62
以下是基类和派生类的代码:
```c++
// 过境人员基类
class TransitPerson {
protected:
string name;
int age;
public:
TransitPerson(string n, int a) : name(n), age(a) {}
virtual void showInfo() {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
}
};
// 游客派生类
class Tourist : public TransitPerson {
private:
string destination;
public:
Tourist(string n, int a, string d) : TransitPerson(n, a), destination(d) {}
void showInfo() {
cout << "Tourist Information:" << endl;
TransitPerson::showInfo();
cout << "Destination: " << destination << endl;
}
};
// 卡车司机派生类
class TruckDriver : public TransitPerson {
private:
string licensePlate;
public:
TruckDriver(string n, int a, string l) : TransitPerson(n, a), licensePlate(l) {}
void showInfo() {
cout << "Truck Driver Information:" << endl;
TransitPerson::showInfo();
cout << "License Plate: " << licensePlate << endl;
}
};
// 商务旅客派生类
class BusinessTraveler : public TransitPerson {
private:
string company;
public:
BusinessTraveler(string n, int a, string c) : TransitPerson(n, a), company(c) {}
void showInfo() {
cout << "Business Traveler Information:" << endl;
TransitPerson::showInfo();
cout << "Company: " << company << endl;
}
};
```
这里使用了封装、继承和多态的概念。基类 `TransitPerson` 封装了过境人员的基本信息,派生类 `Tourist`、`TruckDriver` 和 `BusinessTraveler` 继承了基类,并重写了 `showInfo()` 方法,实现了多态。
相关推荐

















