Question: C++ version 2017 So I am having some problems with this program I am not sure what I am doing wrong but any help would
C++ version 2017
So I am having some problems with this program I am not sure what I am doing wrong but any help would be helpfull If someone can look over the code and see where the errors and help me change them or whatever it takes.
It started to have to errors at first then ended up as 7 when i tried to run it
Month Month::operator ++();
Month Month::operator --();
Thanks for the Help! :)
#include
#include
using namespace std;
class Month
{
private:
int monthNumber;
string name;
public:
Month();
~Month();
Month()
{
monthNumber = 1;
name = " January";
}
Month(string nm)
{
name = nm; //nm*= number of month
setNumber(name);
}
Month(int number)
{
if (number >= 1 && number <= 12)
{
monthNumber = number;
}
setName(monthNumber);
}
void setName(int number)
{
// Name's of Months with corresponding month numbers
if (number == 1)
name = "January";
else if (number == 2)
name = "February";
else if (number == 3)
name = "March";
else if (number == 4)
name = "April";
else if (number == 5)
name = "May";
else if (number == 6)
name = "June";
else if (number == 7)
name = "July";
else if (number == 8)
name = "August";
else if (number == 9)
name = "September";
else if (number == 10)
name = "October";
else if (number == 11)
name = "November";
else
name = "December";
}
void setNumber(string nm)
{
// Number of the Months
if (nm== "January")
monthNumber = 1;
else if (nm== "February")
monthNumber = 2;
else if (nm== "March")
monthNumber = 3;
else if (nm== "April")
monthNumber = 4;
else if (nm== "May")
monthNumber = 5;
else if (nm== "June")
monthNumber = 6;
else if (nm== "July")
monthNumber = 7;
else if (nm== "August")
monthNumber = 8;
else if (nm== "September")
monthNumber = 9;
else if (nm== "October")
monthNumber = 10;
else if (nm== "November")
monthNumber = 11;
else
monthNumber = 12;
}
int getNumber()
{
return monthNumber;
}
string getName()
{
return name;
}
// Overloading Operators ++ -- of >> <<
// These two pieces of code are the error here
Month Month::operator ++();
Month Month::operator --();
//
friend ostream &operator<< (ostream &, const Month &);
friend istream &operator>> (istream &, Month &);
};
Month Month::operator ++()
{
monthNumber++;
if (monthNumber == 13)
{
monthNumber = 1;
name = "January";
}
setName(monthNumber);
return *this;
}
Month Month::operator --()
{
monthNumber--;
if (monthNumber == 0)
{
monthNumber = 12;
name = " December";
}
setName(monthNumber);
return *this;
}
ostream &operator<<(ostream &str, const Month &obj)
{
str << " Detail I Month(s): Name:"
<< obj.name << " Number:" << obj.monthNumber << endl;
}
istream &operator>>(istream &str, Month &obj)
{
//Input
cout << " Enter Number of Month: ";
str >> obj.monthNumber;
cout << "Enter Month's Name: ";
str >> obj.name;
return str;
}
Month::Month()
{
}
Month::~Month()
{
}
// Main
int main()
{
//Declaring object
Month m1;
cout << "Input details: ";
cin >> m1;
//
m1++;
cout << m1;
//
m1--;
cout << m1;
system("PAUSE");
return 0;
}
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
