Hi, I'm, trying to learn operator overloading. I try to compile this and I get an error a page long... Anyone know what's wrong?? thanks
Code:#include <iostream> using namespace std; class Counter { public: Counter (); ~Counter () { }; int GetItsVal () const { return itsVal; } void SetItsVal (int x) { itsVal = x; } void Increment () { ++itsVal; } const Counter & operator++ (); private: int itsVal; }; Counter::Counter (): itsVal (0) { }; const Counter & Counter::operator++ () { ++itsVal; return *this; } int main (int argc, char *argv[]) { Counter i; cout << "The value of i is " << i.GetItsVal () << endl; i.Increment (); cout << "The value of i is " << i.GetItsVal () << endl; ++i; cout << "The value of i is " << i.GetItsVal () << endl; Counter a = ++i; cout << "The value of a: " << a.GetItsVal () << " and i: " << i.GetItsVal; cout << endl; return 0; }