pta程序设计辅助平台-练习

发布时间 2023-04-17 19:41:17作者: 新晋软工小白

现在要开发一个系统,管理对多种汽车的收费工作。
给出下面的一个基类框架class Vehicle{protected:string NO;public:Vehicl

virtual int fee()=0;//计算应收费用};以Vehicle为基类,构建出Car、Truck和Bus三个类。Car的收费公式为: 载客数*8+重量*2

Truck的收费公式为:重量*5Bus的收费公式为: 载客数*3生成上述类并编写主函数主函数根据输入的信息,相应建立Car,Truck或Bus类对象,对于Car给出载客数和重量,Truck给出重量,Bus给出载客数。假设载客数和重量均为整数输入格式:第一行输入测试用例数。接着每个测试用例占一行,每行给出汽车的基本信息,第一个数据为当前汽车的类型:1为car,2为Truck,3为Bus。第二个数据为它的编号,接下来Car是载客数和重量,Truck要求输入重量,Bus要求输入载客数。要求输出各车的编号和收费。

class Car:public Vehicle
{
public:
    Car(string no,int guest,int weight):Vehicle(no)
// 不知道为啥要加一个:Vehicle(no),哪个大神可以讲解一下
    {
        m_no=no;
         m_guest=guest;
         m_weight=weight;
    }
    virtual int fee()
    {
        return (m_guest*8+m_weight*2);
    }
private:
    string m_no;
    int m_guest,m_weight;
};
class Truck:public Vehicle
{
public:
    Truck(string no,int weight):Vehicle(no)
    {
 
        m_no=no;
        m_weight=weight;
 
    }
    virtual int fee()
    {
        return (m_weight*5);
    }
private:
    string m_no;
    int m_weight;
};
class Bus :public Vehicle
{
public:
    Bus(string no,int guest):Vehicle(no)
    {
 
        m_no=no;
        m_guest=guest;
 
    }
    virtual int fee()
    {
        return (m_guest*3);
    }
private:
 
    string m_no;
    int m_guest;
};