//******************************************************************
// SPECIFICATION FILE (datetype.h)
// This file gives the specification of a DateType abstract data
// type and provides an enumeration type for comparing dates
//******************************************************************

#ifndef DATETYPE_H
#define DATETYPE_H

enum RelationType {BEFORE, SAME, AFTER};

class DateType
{
public:
    DateType();
	
    DateType( /* in */ int newMonth,
              /* in */ int newDay,
              /* in */ int newYear  );

    int Month() const;	// access function

    int Day() const;

    int Year() const;

    void Print() const;

    RelationType ComparedTo( /* in */ DateType otherDate ) const;

    void Increment();

private:
    int month;
    int day;
    int year;
	
    int checkDay(int);	// utility function
};

#endif

