Текст задания: Добавьте в класс Rational оператор приведения к double. Все операторы из предыдущих заданий отсутствуют и реализовывать их не нужно. Метод to_double можно использовать в этом задании.
struct Rational
{
Rational(int numerator = 0, int denominator = 1);
void add(Rational rational);
void sub(Rational rational);
void mul(Rational rational);
void div(Rational rational);
void neg();
void inv();
double to_double() const;
operator double() const
{
return to_double();
}
private:
int numerator_;
int denominator_;
};
Перегрузил оператор double(). Не пойму одной вещи: почему мы не используем здесь возвращаемое значение?
Не знаю таких тонкостей, но как мы можем что-то возвращать (в данном случае return to_double()), но при этом не указывать возвращаемое значение?
При попытке указать возвращаемое значение double выдает ошибку, указывая на слово const.