operator overloading, long error
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;
}