Оператор Rational Assignment

Поэтому в этом проекте мне нужно создать рационализаторскую программу, которая поможет сократить цифры до упрощенного формата. Часть программы, с которой я больше всего борюсь, это операторы с длинными параметрами. Я пытаюсь выписать правильные условия, чтобы LongRational должным образом сохранялся в этом -> _ num,
это -> _ ден, но логика, которую я написал, кажется неправильной. Есть ли что-то не так с параметрами моей функции самим или в любом случае, чтобы исправить это.

Rational& Rational::operator += (const Rational& rational)
{
this->_num += ((rational._num * _den) + (rational._den * _num));
this->_den += (rational._den * _den);

return *this;
}

//Part I am having trouble on. Tried editing but unsure if correct.
Rational& Rational::operator += (long LongRational)
{

this->_num += (LongRational * _den) + (_num * LongRational);
this->_den += (LongRational * _num);

return *this;
}

Rational& Rational::operator -= (const Rational& rational)
{
this->_num -= ((rational._den * _num) - (_den * rational._num));
this->_den -= (rational._den * _den);

return *this;
}

//Part I am having trouble on. Haven't edited this bit yet,
Rational& Rational::operator -= (long LongRational)
{
this->_num -= LongRational;
this->_den -= _den;

return *this;
}

// ПРИМЕЧАНИЕ: он хочет, чтобы был набор из двух операторов присваивания с параметрами, которые принимают объект Rational в качестве своего параметра, а другой — с длинным.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]