@Wosi
Ok....ein wenig mehr Beispiele
Basistyp "Gramm"
Delphi-Quellcode:
Type
Gramm = record
private
fvalue : integer
public
Class Operator Implicit(const avalue:gramm):integer;
Class Operator Implicit(const avalue:integer):gramm;
:
:
Class Operator Add(const left:gramm;right:integer):gramm;
Class Operator Add(const left:integer;right:gramm):gramm;
:
:
Delphi-Quellcode:
Type
Kilogram = record
:
:
Class Operator Add(const left:kilogram;const right:integer):kilogram;
Class Operator Add(const left:kilogram;const right:gramm):gramm;
:
Damit ist dann folgendes möglich:
Delphi-Quellcode:
:
:
var
g,eg : gramm;
kg: kilogram;
v : integer;
begin
g := 150; //150 Gramm
kg := 10; //10 Kilogram
eg := g+kg; //Ergibt 1150 gramm
end;
Neben den Implicit und Explicit operatoren gibts, Add, Subtract, Multiply, IntDiv, Modulus, >, <, =, <>, >=, <=
Also ne ganze Ecke.
Wenn ich hier also jeden Operator mit jeder Typkombination in einer eigenen Methode testen möchte, schreibt man verdammt viel Quelltext (sprich bis ich das hab, geh ich in Rente).
@Stevie
Darüber bin ich auch schon gestolpert, hab mich aber nicht wirklich damit befasst. Muss ich mal guggen