C++. Переопределение операторов.

Нужна помощь в решении задачи. Нужно реализовать два оператора: унарный минус и унарный плюс. Сигнатура обязательно такая - Rational operator-() const { /* Реализация */ }
.
Условие:
Дан класс Rational, который описывает рациональное число. В нем определены методы add, sub, mul и div, которые прибавляют к нему число, отнимают число, умножают на число и делят на число соответственно. Кроме того в нем определен метод neg, который меняет знак на противоположный.
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;
Rational & operator+=(Rational const& r) {
this->add(r);
return *this;
}
Rational & operator-=(Rational const& r) {
this->sub(r);
return *this;
}
Rational & operator*=(Rational const& r) {
this->mul(r);
return *this;
}
Rational & operator/=(Rational const& r) {
this->div(r);
return *this;
}
Rational operator-() const {
/* Релизация*/
}
Rational operator+() const {
/* Релизация */
}
private:
int numerator_;
int denominator_;
};
12 октября 2016 в 16:13
Ближайшие курсы

Как начать свой путь в разработке?
Онлайн-курс
1
марта
Стартуй в веб-разработке
Онлайн-курс
1
марта
Открытое онлайн собеседование со студентом на вакансию junior frontend-разработчика
Онлайн-курс
1
марта
Новые статьи

Как защитить Windows: системный подход
75200

«После Scratch поняла, что не хочу бросать программирование»
125910

Что такое MVP и зачем его делать
85800