// Header guard for Date.h
#ifndef DATE_
#define DATE_

// Include statements
#include <string>

// Declare std namespace
using namespace std;

// Declare Date class
class Date {

    private:
        int month {1};
        int day {1};
        int year {1900};
        const static string MONTHS[12];

    public:
        // Constructors
        Date() = default;
        Date(int m, int d, int y) : month{m}, day{d}, year{y} {};
        // Setters
        void setMonth(int m);
        void setDay(int d);
        void setYear(int y);
        // Getters
        int getMonth() const;
        int getDay() const;
        int getYear() const;
        // Other member functions
        string print();
        static bool compare(const Date &d1, const Date &d2);

};

#endif