Cześć, stworzyłem sobie metodę:
CTable CTable::operator=(CTable& b)
{
if (lengthArray != b.lengthArray)
{
changeLengthArray(b.lengthArray);
}
for (int i = 0; i < lengthArray; i++)
{
pointer[i] = b.pointer[i];
}
s_name = b.s_name;
return *this;
}
a po wykonaniu instrukcji
a = b;
wszystko jest w porządku, wartości z obiektu b są przepisane do wartości obiektu a. Problem polega na tym, że po wykonaniu tej metody zarówno a jak i b wskazują na to samo miejsce w pamięci. Jeśli teraz zmienię wartości w obiekcie b, to jednocześnie zmieniam je w obiekcie a. Może ktoś wskazać mi gdzie robię błąd?