Es ist schon bequemer mit überladenen Operatoren, meiner Meinung nach. Es verringert einfach die Schreibarbeit und kann den Code logisch fassbarer machen, sonst aber auch nix.
Beispiel: Ich hab eine Klasse erstellt, die eine komplexe Zahl darstellt. Nun will ich einfache Arithmetik betreiben. Da ist folgender Pseudo-Code:
Delphi-Quellcode:
comp1 := TComplex.Create(4, 3);
comp2 := TComplex.Create(2, 1);
comp3 := TComplex.Create;
comp3 := comp1 + comp2;
doch schneller zu lesen als:
Delphi-Quellcode:
comp1 := TComplex.Create(4, 3);
comp2 := TComplex.Create(2, 1);
comp3 := TComplex.Create;
comp3.Value := comp1.Value;
comp3.Add(comp2);
Oder eine Sortierfunktion, die zwei Objektreferenzen erhält und diese mittels < und > vergleicht. Durch quasi "virtuelle" Operatoren wird immer die zu den übergebenen Objektreferenzen Vergleichsfunktion ausgeführt. Ist meiner Ansicht wieder lesbarer als
obj1.Compare(obj2).