Look at the following main function. Write a program using the main function given. For this program, build a class that maintains a numeric value. You must overload operators in this program. Use this main function. Don\'t change it. MyInt is the name of the class. so write all the code on top of the main function. remember this main function at the bottom should remain unchanged, and also remember MyInt is not typedef. Solution #include <iostream> using namespace std; class MyInt { public: MyInt::MyInt(int number){ num = number; } // Overload + operator to add two MyInt objects. MyInt operator+=(const MyInt& b) { MyInt temp; temp.num = this->num + b.num; return temp; } // Overload - operator to add two MyInt objects. MyInt operator-=(const MyInt& b) { MyInt temp; temp.num = this->num - b.num; return temp; } // Overload * operator to add two MyInt objects. MyInt operator*=(const MyInt& b) { MyInt temp; temp.num = this->num * b.num; return temp; } // Overload ++ operator to add two MyInt objects. MyInt operator++() { MyInt temp; temp.num = this->num + 1; return temp; } MyInt operator++(int) { MyInt temp; temp.num = this->num + 1; return temp; } // Overload -- operator to add two MyInt objects. MyInt operator--() { MyInt temp; temp.num = this->num - 1; return temp; } private: int num; // class variable to hold numeric value public: MyInt(int number); }; int main() { MyInt a(4), b(2); a -= b++; b += ++a; a += --b; b *= a++; cout << a++ << ++b << endl; return 0; } .