Недавно я начал изучать классы и перегрузку операторов в C ++ и написал следующий класс Bignum для практического применения. Ссылка на сайт: http://pastebin.com/cQNwRChx. Это не окончательная версия, например, нет обработки исключений и, возможно, она не так эффективна, поэтому я хочу уточнить некоторые вопросы:
if (a) ...
где Линт. Но если я определю неявное преобразование в bool и напишу a+b
где a — это int, а b — это Lint, возникает неоднозначность. Как я могу решить эту проблему?UPD. Существует простой псевдокод без лишних функций и определений: http://pastebin.com/rauKQjtH.
Задача ещё не решена.
Других решений пока нет …