so, dann will ich noch ein paar ideen hier reinwerfen:
Wenn du Delphi 2006 oder höher hast kannst du methoden und property in Records deklarieren.
Dadurch entfällt der Constructor und Destructor.
Außerdem kannst du dann Operatoren überladen.
Mit der Impliciten Typumwandlung wird das arbeiten mit dem Datentyp auch angenehmer.
Schau dir einfach mal dieses Beispiel an:
Delphi-Quellcode:
TBigInt = record
private
Data: Integer;
public
class operator Implicit(I: Integer): TBigInt;
class operator Implicit(T: TBigInt): Integer;
class operator Add(A, B: TBigInt): TBigInt;
end;
// ...
class operator TBigInt.Add(A, B: TBigInt): TBigInt;
begin
result.Data := A.Data + B.Data;
end;
class operator TBigInt.Implicit(I: Integer): TBigInt;
begin
Result.Data := I;
end;
class operator TBigInt.Implicit(T: TBigInt): Integer;
begin
result := T.Data;
end;
Und jetzt ist das hier problemlos möglich:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var A, B, C: TBigInt;
begin
a := 5;
b := 3;
c := a + b;
showmessage(IntToStr(c));
end;