Example
class
MyClass
{
public
:
MyClass
operator
++();
// prefix ++
MyClass
operator
++(
int
);
// postfix ++
MyClass
operator
--();
// prefix --
MyClass
operator
--(
int
);
// postfix --
private
:
int
field;
};
Solution
Make sure inrementing methods have the right return values.
class
MyClass
{
public
:
MyClass&
operator
++();
// prefix ++
const
MyClass
operator
++(
int
);
// postfix ++
MyClass&
operator
--();
// prefix --
const
MyClass
operator
--(
int
);
// postfix --
private
:
int
field;
};