oop — вызов метода для * это влияет на НЕКОТОРЫЕ другие параметры, переполнение стека

У меня есть два метода:

bigint& bigint::operator=(const bigint& b){
init();
for(int i = N-1; i >= N - b.getLength(); i--){
un[i] = b.un[i];
}
setLength(b.getLength());
return *this;
}

void bigint::init(){
int L = getLength();
for(int i = 0; i < L; i++){
un[N-L+i] = 0;
}
setLength(1);
}

Первый называется operator= в коде, который присваивает значение b в *this,

Учебный класс bigint представляет большие целые числа максимальной длины = N. Экземпляр bigint содержит массив длины, равный N,

В чем моя проблема:
Я не могу определить, почему вызов метода init(), который обнуляет каждый элемент *this, влияет и на параметр b,
Кажется, что нули также b,

Когда я удаляю init() звонит из operator= метод, b не изменяется, но мне нужно обнулить bigint *this прежде чем присвоить ему какое-то значение.

Я не понимаю, что на самом деле происходит.

Спасибо за любую помощь.

0

Решение

Задача ещё не решена.

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

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

По вопросам рекламы [email protected]