Habs direkt mal getestet:
Delphi-Quellcode:
class operator TVarX.add(const a, b: TVarX): TVarX;
begin
result.Value:= a.Value+b.Value;
end;
.....
localVar1,l2,l3,lg: TVarX;
......
localVar1:=100;
lg.Name:='asdfg';
l2:=localVar1;
l3:=400;
lg:=l2+l3; { value = 500, name = 'asdfg' }
Also wird im lokalen Teil, nur der veränderte Wert übernommen.
"lg" hat ja immer noch den zugewiesenen Wert vor der Addition.