I often see my teachers use const operator +-*/ which return const value. Is it a good practice to do that? Should I do that for every class I write? (T means any struct/class that overloads operator +-*/). 
For example:
struct Fraction
{
    //something here.
    const Fraction operator+(const Fraction &rhs) const;
    const Fraction operator-(const Fraction &rhs) const;
    const Fraction operator*(const Fraction &rhs) const;
    const Fraction operator/(const Fraction &rhs) const;
};
 
     
    