t2t-soft

All Delphi operator declarations have the signature of functions with parameters and a return type. In C++ however, some operators don't return a value, but operate on the class instance itself.

  • The binary operators in C++ are formed like their counterparts in C++ and therefore the translation is straightforward.
  • The code for the unary operators Negative, Positive, LogicalNot, Inc and Dec has to be remodeled at the C++ translation.
  • The conversion operators have to be remodeled too. Dependant on the direction of the conversion - to the class or from the class - the translation has to be done differently.
  • Finally there are more operators in Delphi like Trunc or In which aren't operators in C++.

Here is a simple example for the translation of a binary operator:


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;
}






   deutsch Deutsch


 
Latest News
05/18/26
Delphi2Cpp 2.7: Translation heuristics [more...]

11/18/25
Delphi2Cpp 2.6: Delphi Interfaces [more...]



"We have successfully completed the projects, and the applications are (for the most part) already running at our customers' sites."





"Thanks for your great work, really appreciate the work you have done on zlib and compiling ... test case."


Mattewada, Udayabhaskar
Nokia India 02/01/2021




[from case study...]

"A masterpiece -- Delphi2Cpp has exceeded all my expectations by far."


Tony Hürlimann
virtual-optima 08/20/2011



"First off, I have to say WOW! Delphi2Cpp is doing a *fantastic* job!"


Daniel Flower
linkrealms 01/15/2011



"Though we have not finished the conversion yet, I'm glad that we've found you and could transform Eurocap to C++ with the help of Delphi2CB and you. (And I'm also glad that we could help you to make Delphi2CB better😉)"


Gáspár Huba


 
This website is generated from plain text with [Minimal Website]

Minimal Website
 
Minimal Website is made with TextTransformer

TextTransformer
 
TextTransformer is made with Borland C++Builder

  Borland