/*======================================================*/
/*  File:  Vehicle.cpp  -  A tiny "vehicle" class       */
/*======================================================*/

#include <iostream>

using namespace std;

/*======================================================*/

class Vehicle
{
  public:

    Vehicle (void)
    {
        sName[0] = '\0';
        dMileage = dGas = 0;
    }

    Vehicle (char sName2 [], double dMileage2, double dGas2)
    {
        strcpy (sName, sName2);
        dMileage = dMileage2;
        dGas = dGas2;
    }

    double GetMileage (void) const  {  return dMileage;  }

    double GetGas (void) const      {  return dGas;  }

    void SetGas (double dGas2)      {  dGas = dGas2;  }

    void Drive (double dMiles)
    {
        dGas = dGas - dMiles / dMileage;
    }

    void Fill (double dGas2)        {  dGas += dGas2;  }

    void Display (void) const
    {
        cout << "My " << sName << " has " << dGas << " gallons in its tank" << endl;
    }

    char sName[30];                 // Should be PRIVATE !!

  private:

    double dMileage;
    double dGas;
};

/*======================================================*/

int main (void)
{
    cout << "Vehicle!" << endl << endl;

    cout.setf (ios::fixed);
    cout.setf (ios::showpoint);
    cout.precision (2);

    Vehicle myCar ("Chevy", 16.08, 14), myOtherCar ("Ford", 30, 24);

    cout << "myCar is named " << myCar.sName << ". It gets " << myCar.GetMileage () << " mpg." << endl;
    cout << "My " << myCar.sName << " has " << myCar.GetGas() << " gallons in its tank." << endl;
    myCar.Drive (100);
    myCar.Display ();
    myCar.Fill (10);
    myCar.Display ();
    myOtherCar.Display ();

    cout << endl;
    return 0;
}

/*======================================================*/

/* ..... Output .....

Vehicle!

myCar is named Chevy. It gets 16.08 mpg.
My Chevy has 14.00 gallons in its tank.
My Chevy has 7.78 gallons in its tank.
My Chevy has 17.78 gallons in its tank.
My Ford has 24.00 gallons in its tank.

Press any key to continue

..... End Output ..... */
