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