Listing 6 Adds binary and unary minus to the Date class

// date6.h

class Date
{
   int month;
   int day;
   int year;

public:
   // Constructors
   Date()
     {month = day = year = 0;}
   Date(int m, int d, int y)
     {month = m; day = d; year = y;}

   // Accessor Functions
   int get_month() const
     {return month;}
   int get_day() const
     {return day;}
   int get_year() const
     {return year;}

   Date operator-(const Date& d2) const;
   Date& operator-()
     {month = -month; day = -day; year = -year;
      return *this;}

   int compare(const Date&) const;

   // Relational operators
   int operator<(const Date& d2) const
     {return compare(d2) < 0;}
   int operator<=(const Date& d2) const
     {return compare(d2) <= 0;}
   int operator>(const Date& d2) const
     {return compare(d2) > 0;}
   int operator>=(const Date& d2) const
     {return compare(d2) >= 0;}
   int operator==(const Date& d2) const
     {return compare(d2) == 0;}
   int operator!=(const Date& d2) const
     {return compare(d2) != 0;}
};

// End of File