我可以帮你解释一下程序的思路:
首先,你可以定义一个公交卡(boardingcard)的结构体。这个结构体应该包括公交卡的种类(普通卡、学生卡、老年卡)、余额、折扣率等属性。
然后,你可以创建公交卡类,在这个类中实现一些函数,比如构造函数、充值函数、余额查询函数和刷卡消费函数。同时,你还应该在这个类中定义两个纯虚函数,用于显示刷卡种类和设置折扣率。
接着,你可以建立三个结构体:普通卡类(Acard)、学生卡类(Bcard)、老年卡类(Ccard)。这三个结构体都应该从公交卡类派生而来,并且在这三个派生类中分别实现基类中定义的两个虚函数。
最后,你可以在 main 函数中读入用户的输入,