Öhmm.....jup.....nochmal getestet...nu tuts.....komisch.
Am Rande
Delphi-Quellcode:
Type
TGramm = -xxxxxx .. xxxxxx
usw.
TGewicht = record
//wie gehabt
Class Oporator 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;
IMPLEMENTATION
Class Opertator TGewicht.Implicit(const value:int64):TGewicht;
begin
result.fvalue := value;
end;
Class Opertator TGewicht.Implicit(const value:TGewicht):Int64;
begin
result := value.fvalue;
end;
Class Opertator TGewicht.Implicit(const value:TGramm):TGewicht;
begin
result.fvalue := value;
end;
Class Opertator TGewicht.Implicit(const value:TKilo):TGewicht;
begin
result.fvalue := value*GrammPerKilo;
end;
Class Opertator TGewicht.Implicit(const value:TTonne):TGewicht;
begin
result.fvalue := value*GrammPerTonne;
end;
In die
IDE zeigt mir hier einen Fehler im Implementation Abschnitt an, das der Bezeichner redifiniert wird. Allerdings erst bei Implicit(const value:TKilo). Der Compiler läuft ohne Probleme durch, und lt. meinen
Unittests wird das ganze auch korrekt gehandhabt.