Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Month Class Design a class named Month. The class should have the following priv

ID: 3620544 • Letter: M

Question

Month Class

Design a class named Month. The class should have the following private members:
• name A MyString object (from the MyString class presented in this
chapter) as a member. The name object should hold the name of a
month, such as “January”, ‘February’, etc.
• mon-thNumber An integer variable that holds the number of the month. For exam ple January would be 1, February would be 2, etc. Valid values for
this variable are 1 through 12.
In addition, provide the following member functions:
• A default constructor that sets monthNumber to 1 and name to “January”.
• A constructor that accepts the name of the month as an argument. It should set name to the value passed as the argument and set monthNuiuber to the correct value.
• A constructor that accepts the number of the month as an argument. It should set monthNumber to the value passed as the argument and set name to the correct month name.
• Appropriate set and get functions for the name and monthNumber member variables.
• Prefix and postfix overloaded ++ operator functions that increment monthNumber and set name to the name of next month. If monthNumber is set to 12 when these functions execute, they should set monthNumber to 1 and name to “January”.
• Prefix and postfix overloaded - - operator functions that decrement monthNumber and set name to the name of previous month. IfmonthNumber is set to 1 when these functions execute, they should set nionthNumber to 12 and name to “December”.
Also, you should overload cout’s << operator and cm’s>> operator to work with the Month class Demonstrate the class in a program.


This should use vectors instead of arrays as much as possible.

Explanation / Answer

#ifndef MONTH_H #define MONTH_H #include using namespace std; class Month { private: int day; static string monthName[12]; static int daysInMonth[12]; public: //default constructor, initialize private variable called day to 0. Month() { day=0; } // setter used to assign values to day. void setDay(int daa) { day=daa; } // overloading constructor with a parameter, initialization Month(int da) { setDay(da); } // getter used to get a final string of the formatted date string getDate(); //operator overloading += int operator+=(const Month) { day=day+1; return day; } //operator overloading -= int operator-=(const Month) { if (day