Спроектировать и реализовать класс BigInt, позволяющий
хранить целые числа произвольной длины, и производить набор основных операций с ними.
![]() | Замечание |
|---|---|
Понятно, что фактически размер чисел в любом случае будет ограничен доступной памятью, идея в том, чтобы размер чисел не ограничивался самим классом. |
В классе должны быть определены различные конструкторы (по умолчанию, по строке (char *), по целому числу встроенного типа (например, long), конструктор копирования).
Должны быть перегружены следующие операторы: +,
++ (префиксный и постфиксный), -- (префиксный и постфиксный),
-, *, +=, -=,
*=, ==, !=, <,
>, <=, >=,
<< (вывод в поток типа ostream).
![]() | Замечание |
|---|---|
Деления в списке операторов, подлежащих реализации, нет! |
Для защиты лабораторной работы необходимо представить:
Разработанный класс BigInt должен допускать такое использование:
/*...*/
int main() {
BigInt a;
BigInt b("-1206");
BigInt c(1207);
a = c;
if (a != c) cout << "Something wrong\n"; else cout << "As expected\n";
if (b < c) cout << "As expected\n"; else cout << "Something wrong\n";
cout << b++ << endl
<< c-1 << endl
<< (b+=7) << endl;
return 0;
}