Witam, jutro mam kolokwium z programowania obiektowego. Moja prośba - może ktoś sprawdzić z punktu widzenia informatycznego czy to poprawnie napisany operator=? Wszystko się kompiluje i działa ale nie wiem czy nie zgubiłem czegoś, a zależy mi, aby wszystko było na "tip top" :)
ListOfSuspect& ListOfSuspect::operator=(const ListOfSuspect &x)
{
if(this==&x)
return *this;
else
{
suspect* ptr;
ptr = head;//element poczatkowy
while (ptr)
{
ptr = ptr->get_next();//pobiera wskaźnik na kolejny element
delete head;//dealokacja pamięci
head = ptr;
}
suspect *xtr = x.head;
while (xtr != 0)
{
this->add_element(xtr->get_id(), xtr->get_name(), xtr->get_lname(), xtr->get_age());//funkcja dodająca element, rezerwuje ona pamięć
xtr = xtr->get_next();
}
}
return *this;
}