Listing 1: date.h
#ifndef DATE_H
#define DATE_H
#include <iostream.h>
#include <utility.h>
struct Date {
Date(unsigned m, unsigned d, unsigned y)
: num(d + 100 * m + 10000 * y) { }
Date()
: num(0) { }
bool operator<(Date const & x) const
{ return num < x.num; }
bool operator==(Date const & x) const
{ return num == x.num; }
friend ostream& operator<<(ostream& os, Date const & x)
{
unsigned d = x.num % 100;
unsigned n = x.num / 100;
return os << n % 100 << "/" << d << "/" << n / 100;
}
friend istream& operator>>(istream& is, Date & x)
{
unsigned m, d, y;
char c;
is >> m >> c >> d >> c >> y;
x = Date(m,d,y);
return is;
}
private:
unsigned long num;
};
#endif
//End of File