This is a code representing a fraction with an operator overloading
class Fraction
{
private:
int _counter, _denominator;
public:
Fraction(int _x, int _y);
Fraction & operator+=(int b)
{
_counter = _counter + b*_denominator;
return *this;
}
Fraction & operator-=(int b)
{
_counter = _counter - b*_denominator;
return *this;
}
};
Fraction::Fraction(int _x, int _y)
{
_counter = _x;
_denominator = _y;
}
void main()
{
Fraction *f = new Fraction(2, 4);
f += 5;
}
Can someone tell me why the operator +=
overloading doesn't work?