Что изменить с оператора + на оператор-

Так что для проблемы BigInt я хочу добавить оператор, как бы я изменил свой код для этого? Это просто для практики, но у меня возникли проблемы с поиском решения для изменений.

Вот мой оператор +:

int carry = 0;
int sum;
BigInt result;
list<int>::reverse_iterator rit1 = number.rbegin();
list<int>::reverse_iterator rit2 = operand.number.rbegin();
while ( (rit1 != number.rend()) || (rit2 != operand.number.rend()) )
{
sum = 0;

if (rit1 != number.rend())
{
sum += *rit1;
rit1++;
}

if (rit2 != operand.number.rend())
{
sum += *rit2;
rit2++;
}

sum += carry;
result.number.push_front(sum % 10);
carry = sum / 10;
}

if (carry > 0)
result.number.push_front(carry);

return result;

0

Решение

Почему бы не построить operator- с точки зрения x + -y…? Если у вас еще нет оператора отрицания, кажется, что это хорошо для добавления и проще. Тогда вам нужно будет починить operator+ обрабатывать отрицательные числа, но это никому не нужно, если это невозможно.

0

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector