#include #include using namespace std; // You can not make any change in the code of myDateType class // Base class myDateType start class myDateType { //class declaration section public: // Notice the colon here void setDate(int, int, int); // a member method void getDate(int&, int&, int&) const; void printDate() const; void incrementDay(); void incrementMonth(); void incrementYear(); bool equalDate(const myDateType& otherDate) const; void increaseDay(int d); // increases days by d amount; void increaseMonth(int m); // increases months by m amount; void increaseYear(int y); // increases years by y amount; private: int month; // a data member int day; int year; }; // this is a declaration - don't forget the semicolon //Implementation of base class void myDateType::setDate(int mm, int dd, int yyyy) { if( 1 <= mm && mm <= 12) month = mm; else month = 1; if( 1 <= dd && dd <= 31) day = dd; else day = 1; if ( 0 <= yyyy && yyyy <= 9999) year = yyyy; else year = 0; } void myDateType::getDate(int& mm, int& dd, int& yyyy) const { mm = month; dd = day; yyyy = year; } void myDateType::printDate() const { cout << month << '/' << day << '/' << year % 100; // extract the last 2 year digits cout << endl; } void myDateType::incrementYear(){ year = year + 1; } void myDateType::incrementMonth(){ month = month+1; if (month>12){ incrementYear(); } } void myDateType::incrementDay(){ day = day+1; if (day > 30){ incrementMonth(); } } void myDateType::increaseYear(int y){ year = year + y; } void myDateType::increaseMonth(int m){ // Here we assume that m < 12 month = month + m; if (month > 12){ month = month%12; incrementYear(); } } void myDateType::increaseDay(int d){ // Here we assume that d < 30 day = day + d; if (day>30){ day = day % 30; incrementMonth(); } } bool myDateType::equalDate(const myDateType& otherDate) const{ return (day == otherDate.day && month == otherDate.month && year == otherDate.year); } // Base class myDateType end // Write rest of the code here