Я пытаюсь написать свою собственную реализацию BigInt, используя списки, чтобы отслеживать все цифры в большом целые числа. Каждая реализация класса находится в отдельном файле.Использование списков для представления BigInt
struct node
{
int value;
node *next;
};
class LIST
{
private:
node *head;
public:
. . .
};
class BigInt
{
Private:
LIST numList;
Public:
BigInt addNum(BigInt& b);
. . .
};
Как реализовать метод addNum для класса BigInt? Я знаю, как добавить данные в два списка с помощью указателя на голову, но в моем классе BigInt я не могу получить доступ к указателю на вершине класса списка, так как я могу это сделать? Любой совет будет оценен.
Инструкция по заданию:
Создать связанный список на основе произвольной точности целого без знака класса BigInt. Вы, , можете создать связанный список простым способом, не беспокоясь о несущих в списке , например, просто создайте структуру, содержащую цифру и следующий указатель. Вы можете управлять связанным списком в самом классе BigInt, или, альтернативно, вы можете использовать связанный список класса в качестве члена (по агрегации/составлению) класса BigInt для управления списком цифр . BigInt также необходимо сохранить размер (сколько десятичных цифр находится в номер) и ширину печати (по умолчанию - размер номера).
Для класса BigInt, осуществлять нормальный (без знака длинного длинного параметра INT), скопируйте и по умолчанию (устанавливается на 0) конструкторы, способ присвоить произвольный беззнаковый длинный длинный Int к BigInt (который конструкторы могут использовать), метод добавления двух BigInts , возвращающих новый BigInt с результатом, метод для умножения двух BigInts , возвращающих новый BigIntT с результатом, метод возврата числа десятичных цифр в BigInt, оператор присваивания = , и деструктор.
Вы можете добавить метод get_head_pointer() для класса LIST? – GVH
Нет, цель состоит в том, чтобы инкапсулировать реализацию списка, отличную от простого общедоступного интерфейса, который позволяет добавлять/удалять/печатать (итератор) элементы списка. – user3303411
Я предполагаю, что это домашнее задание? Если вы считаете, что задание требует, чтобы вы добавили два номера, не имея возможности смотреть на цифры, я боюсь, вы неправильно поняли это. Вы должны уточнить, как с вашим профессором, так и с нами, каким именно образом вам разрешено получать доступ к содержимому numList из класса BigInt. – GVH