C++ Advanced Task07_05 - List - как се копират int-овете в случая от задачата (copy-assignment оператор= и при добавяне на елемент на края)
Здравейте,
как се копират int-овете в случая от задачата (с copy-assignment оператор= или при добавяне на елемент на края), въобще не ми е ясен синтаксиса.
Не разбирам като се създават новите връзки, как точно да го разпиша с под-класа? Съчиних това, но не знам до колко е правилно:
List& List::operator=(const List& other) {
//1.DeleteAll: (същия код като на деструктора)
Node * temp = this->head;
Node * prevPtr = nullptr;
while (temp->getNext() != nullptr) {
prevPtr = temp;
temp = this->head->getNext();
delete prevPtr;
prevPtr = nullptr;
}
delete temp;
temp = nullptr;
this->head = nullptr;
this->tail = nullptr;
this->size = 0;
//2.Copy
Node * currPtr = other.head; //set to first link
while (currPtr != nullptr) {
currPtr = currPtr->getNext; // move to next link
}
this->head = currPtr;
return *this;
}
Поздрави!