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

// Include statements
#include <string> // String return type functionality

// Namespaces
using namespace std;

// Class declaration for Date
class Date {

    private: // Member variables, initialized to base date 1/1/2021
        int day {1};
        int month {1};
        int year {2021};

    public: // Member functions
        Date() = default; // Default constructor
        Date(int d, int m, int y);
        bool setDay(int d); // Setter/validation function for day
        bool setMonth(int m); // Setter/validation function for month
        bool setYear(int y); // Setter/validation function for year
        int getDay(); // Getter function for day
        int getMonth(); // Getter function for month
        int getYear(); // Getter function for year
        string showDate(); // Function that returns string format of full date

};

#endif