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?
 
     
     
     
    