写一个C++代码利用抽象类编写一个程序实现公交车卡售票管理。“老年卡”购票金额=原价50%、“学生卡”购票金额=原价60%、“普通卡”购票金额=原价*95%)。
时间: 2023-10-10 11:10:17 浏览: 77
利用抽象类编写实现公交卡类售票管理程序。当输入为“老年卡”,“学生卡”,“普通卡”时,显示不同的卡类以及购票金额
好的,以下是实现公交车卡售票管理的C++代码:
```cpp
#include <iostream>
using namespace std;
// 抽象类
class BusCard {
public:
virtual void buyTicket(double price) = 0;
};
// 老年卡
class ElderCard : public BusCard {
public:
void buyTicket(double price) {
cout << "老年卡购票金额为:" << price * 0.5 << endl;
}
};
// 学生卡
class StudentCard : public BusCard {
public:
void buyTicket(double price) {
cout << "学生卡购票金额为:" << price * 0.6 << endl;
}
};
// 普通卡
class NormalCard : public BusCard {
public:
void buyTicket(double price) {
cout << "普通卡购票金额为:" << price * 0.95 << endl;
}
};
int main() {
BusCard *card1 = new ElderCard();
BusCard *card2 = new StudentCard();
BusCard *card3 = new NormalCard();
double price = 10.0;
card1->buyTicket(price);
card2->buyTicket(price);
card3->buyTicket(price);
delete card1;
delete card2;
delete card3;
return 0;
}
```
程序中定义了一个抽象类 `BusCard`,它包含了一个纯虚函数 `buyTicket`,表示购票。然后定义了三个具体的类 `ElderCard`、`StudentCard`、`NormalCard`,它们都继承自 `BusCard`,并实现了 `buyTicket` 函数,分别表示老年卡、学生卡、普通卡的购票方式。在 `main` 函数中,分别创建了三个不同类型的卡并调用它们的 `buyTicket` 函数,最后释放内存。运行程序,输出如下:
```
老年卡购票金额为:5
学生卡购票金额为:6
普通卡购票金额为:9.5
```
阅读全文