Einzelnen Beitrag anzeigen

Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Operatoren in Turbo Delphi (Win32) überladen?

  Alt 8. Sep 2006, 14:45
Wie würde man das denn überhaupt bei Klassen idealerweise anstellen?

Gehen wir davon aus, ich habe drei Variablen vom Typ TMeineTolleKlasse und habe für diese Klasse die Addition definiert.

Delphi-Quellcode:
procedure foo;
var a, b, c : TMeineTolleKlasse;
begin
  a:= TMeineTolleKlasse.Create;
  b:= TMeineTolleKlasse.Create;

  c:= a + b;

  a.Free;
  b.Free;
  c.Free;
end;
Der überladene Operator würde also eine neue Instanz erzeugen und sie zurückliefern. In meinem Beispiel wäre sie dann an C gebunden. Was mache ich - ohne Garbage-Collector, wenn C vorher schon eine Instanz der Klasse an sich gebunden hatte? Habe ich dann nicht ein Speicher-Löchlein?
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat