vi la siguiente implementación del operador * de la siguiente manera:¿Por qué volver const Racional que racional
class Rational {
public:
Rational(int numerator=0, int denominator=1);
...
private:
int n, d; // numerator and denominator
friend const Rational operator*(const Rational& lhs, const Rational& rhs)
{
return Rational(lhs.n * rhs.n, lhs.d * rhs.d);
}
};
Tengo dos preguntas aquí:
- Q1> ¿Por qué el operador * tiene que volver const Rational en lugar de simplemente Rational
- Q2> cuando definimos una función de amigo, ¿deberíamos preocuparnos por el modificador de acceso?
Hola Oli, muchas gracias – q0987
concisa, informativa, precisa. Buena respuesta. –