texttransformer.jpg

Deklarationen von Operatoren in Delphi haben alle Signaturen mit Parametern und Rückgabetypen. Demgegenüber habe in C++ einige Operatoren keine Rückgabewerte. Stattdessen wird die Operation an der Klasseninstanz selbst ausgeführt.

  • Binäre Operatoren werden in C++ genauso formuliert wie in Delphi. Deswegen gibt es ein direkte Übersetzung der Delphi-Operatoren.
  • Der Code für die unären Operatoren Negative, Positive, LogicalNot, Inc und Dec muss bei der Übersetzung nach C++ umgeformt werden.
  • Auch die Konversionsoperatoren müssen umgeformt werden. In Abhängigkeit von der Konversionsrichtung - in die Klasses oder aus der Klasse - erfolgt die Übersetzung unterschiedlich.
  • Schließlich gibt es noch mehr Operatoren in Delphi wie Trunc oder In, die in C++ keine Operatoren sind.

Hier ein einfaches Beispiel für die Übersetzung eines binären Delphi Operators nach C++:


class operator TMyClass.Add(a, b: TMyClass): TMyClass;
var
  returnrec : TMyrClass;
begin
  returnrec.payload := a.payload + b.payload;
  Result:= returnrec;
end;

becomes in C++ to:


TMyClass operator + (const TMyClass& A, const TMyClass& B)
{
  TMyClass result = {0};
  TMyClass returnrec = {0};
  returnrec.payload = A.payload + B.payload;
  result = returnrec;
  return result;
}


   english english

 

 
Letzte Neuigkeiten
28.10.24
Delphi2Cpp 2.5: in Groß- und Kleinschreibung mit Deklarationen übereinstimmende Symbolnamen [more...]
08/26/24
Delphi2Cpp 2.4: Aktualisiert auf RAD Studio 12.1 Athen [more...]



[aus Fallstudie...]

"Eine Meisterleistung -- Delphi2Cpp hat alle meine Erwartungen weit übertroffen."


Tony Hürlimann
virtual-optima 29.08.2011



"Ich muss mich nochmal für deinen Einsatz und die Qualität deiner Arbeit bedanken, das ist absolut überdurchschnittlich ..."


Gerald Ebner


 
Diese Homepage ist aus einfachen Texten mit [Minimal Website ]generiert.

Minimal Website
Minimal Website ist mit Hilfe des TextTransformers hergestellt.

TextTransformer
Der TextTransformer ist gemacht mit dem Borland CBuilder

  borland