Ich hab den Vorschlag von Uwe Raabe mal aufgegriffen und das ganze testhalber mal wie folgt
aufgebaut:
Delphi-Quellcode:
TYPE
TGramm = -9223372036854775807..9223372036854775807;
TKilo = -9223372036854775..9223372036854775;
TTonne = -9223372036854..9223372036854;
TMegat = -9223372036..9223372036;
TGewicht = Record
private
fvalue : int64;
strict private
Class constructor Create; //<-- Hier werden die Classvars entsprechend belegt
private class var
GrammPerKilo : int64;
GrammPerTonne: int64;
GrammPerMegat: int64;
public
Class Operator Implicit(const value:int64):TGewicht;
Class Operator Implicit(const value:TGewicht):int64;
Class Operator Implicit(const value:TGramm):TGewicht;
Class Operator Implicit(const value:TKilo):TGewicht;
Class Operator Implicit(const value:TTonne):TGewicht;
Class Operator Implicit(const value:TMegat):TGewicht;
Class Operator Add(const left,right:TGewicht):TGewicht;
Class Operator Subtract(const left,right:TGewicht):TGewicht;
End;
Damit hätte ich die meisten Anforderungen eigentlich abgedeckt. Was meint ihr ?