Przeładowanie operatora przypisania

0

Czy ktoś praktycznie w Pascalu pisał klasę z konstruktorem kopiującym i przeładowanym operatorem przypisania utworzonych obiektów danej klasy do siebie ??

Jest taki praktyczny mechanizm w C++ a nie wiem jak to jest rozwiązane w Pascalu ?

0

W pasalu (jeżeli chodzi o klasy) do każdego obiektu masz dostęp tylko i wyłącznie przez wskaźnik, więc żadnego automatycznego kopiowania nigdy nie następuje a w związku z tym nigdy nie następuje potrzeba przeciążenia operatora kopiowania ani też potrzeba konstruktora kopiującego.
Możesz to załatwić tworząc metodę np Copy() zwracającą nowy obiekt tej samej klasy.

0

i przeładowanym operatorem przypisania
Operatora przypisania nie można przeładować.
Przypisanie to przypisanie - w przypadku typów prymitywnych i rekordów jest to skopiowanie całej zawartości, w przypadku klas jest to przypisanie referencji.

Zresztą rzadko jest potrzeba, by kopiować obiekt. To często zadawane pytanie przez programistów C++ (jak skopiować obiekt), ale trzeba sobie najpierw odpowiedzieć na pytanie: po co?

0

... akurat mam potrzebę zrobienia kopi obiektu i jest problem bo przepisuje tylko referencję i tracę dostęp do danych z oryginału :( - napiszę po prostu funkcję kopiującą o treści tak jak w C++ ten brakujący przeładowany operator przypisania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1