Witam
w c++, javie i innych jezykach wystepuje problem z przekazywaniem obiektow przez wartosc lub przez referencje. Czy w delphi wystepuje taki podzial?
zalozmy ze mamy taki przyklad:
type
TMojaKlasa = class
Nazwa: string;
procedure JakasProcedura(x: integer);
constructor Create;
destructor Destroy;
end;
{...}
procedure WykonajOperacje(Obiekt: TMojaKlasa)
begin
Obiekt.Nazwa := 'Nowa Nazwa';
end;
var
ob: TMojaKlasa;
begin
ob := TMojaKlasa.Create;
ob.nazwa := 'Stara Nazwa';
WykonajOperacje(ob);
showmessage(ob.nazwa);
// tu pojawi sie okienko z wartoscia nadana wewnatrz procedury: 'Nowa Nazwa'
end;
W tym wypadku (wg mnie) przekazuje obiekt przez referencje (przez wskaznik) i zmiany dokonywane
na obiekcie wewnatrz procedury wykonuja sie na przekazanym obiekcie a nie na jego kopii.
Czy da sie zrobic w Delphi przekazywanie obiektu przez wartosc?
wydaje mi sie ze potrzebne by byly do tego konstruktory kopiujace ktore jako takie chyba nie wystepuja w Delphi... (jesli sie myle to mnie poprawcie)
Czy moglby ktos pokazac mi przyklad (W DELPHI) w ktorym korzystne by bylo przekazanie obiektu przez wartosc (utworzenie kopji obiektu na potrzeby procedury)