Я пытаюсь перегрузить оператор +, я хочу добавить два узла с помощью итератора, но у меня возникают проблемы с доступом к итератору из другого объекта.
Вот мой оператор +:
type operator+(const largeInt<type> &other) {
iter = list.end();
other.iter = other.list.end() //need help here
type newNumb1, newNumb2;
newNumb1 = *iter;
newNumb2 = other.*iter; //need help here
return newNumb1 + newNumb2;
}
У меня есть typename List<type>::Iterator iter;
в качестве закрытого члена данных внутри класса largeInt.
Класс итератора сохраняется в другом классе, он вложен в класс связанного списка, поэтому для создания объекта Iterator IЯ должен сделать List<type>::Iterator
, хотя это работает, я не могу получить к нему доступ с помощью другого объекта largeInt, переданного в качестве ссылки.
ОБНОВЛЕНИЕ:
type operator+(const largeInt<type> &other) {
typename List<type>::Iterator other_iter = other.iter;
type newNumb1, newNumb2;
newNumb1 = *iter;
newNumb2 = *other_iter;
return newNumb1 + newNumb2;
}
Это сработало, но я хочу сделатьТо же самое, но без дополнительного итератора любая помощь будет полезна.