/* Date.h */ #ifndef _DATE_H #define _DATE_H #include using namespace std; /* Some questions to ask Label the private data members. Label the public data members. Label the private function/methods. Label the public function/methods. Label the constructor(s). Label the destructors(s). Is compareDates a member of the class? Is askUserForData a member of the class? What would the .cpp file corresponding to this .h file look like? Implement getMonthName. Implement askUserForDate. Label any accessors. Label any mutators. Label any friend functions. What can friend functions do that other functions outside the classs cannot? Label any instances of functions overriding. Label any instances of operator overriding. What are the big three? Are any of them present here? are they all present here? Explain why if you have one you should have them all. Where are the file guards and what is their purpose? What is the name of the class? How could you declare a variable of this type? How could you call the various public member functions? */ #define EQUAL 0 #define GREATER_THAN 1 #define LESS_THAN -1 enum months {JANUARY=1, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTERMBER, OCTOBER, NOVEMBER, DECEMBER}; class Date { private: unsigned day; unsigned month; unsigned year; public: bool validDate() const; unsigned getDay() const; unsigned getMonth() const; string getMonthName() const; unsigned getYear() const; void setDay(unsigned newDay); void setMonth(unsigned newMonth); void setYear(unsigned newYear); void askUserForDate(); friend int compareDates(const Date &d1, const Date &d2); }; int compareDates(const Date &d1, const Date &d2); #endif