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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!