以下是使用抽象类实现公交车卡售票管理的 C 代码示例:
``` #include <stdio.h> #include <stdlib.h>
// 定义公交卡类型枚举 enum CardType { OLD_AGE_CARD, STUDENT_CARD, NORMAL_CARD };
// 定义抽象类 BusCard,其中包含了公交卡充值、余额查询、刷卡消费等操作 class BusCard { public: // 构造函数,设置公交卡的初始余额 BusCard(double initial_balance) { balance_ = initial_balance; }
// 充值函数,amount 为充值金额 void Recharge(double amount) { balance_ += amount; }
// 余额查询函数 double GetBalance() const { return balance_; }
// 刷卡消费函数,fare 为购票金额 void PayFare(double fare) { balance_ -= fare; }
// 纯虚函数,用于获取公交卡类型 virtual CardType GetType() const = 0;
// 纯虚函数,用于设置公交卡折扣率 virtual void SetDiscountRate(double rate) = 0;
protected: // 余额 double balance_; };
// 定义老年卡类型,继承自 BusCard 类 class OldAge