In neueren Delphi-Versionen können Klassen geschachtelt werden. Beispiel:
type TOuterClass = class strict private myField: Integer; public type TInnerClass = class public myInnerField: Integer; procedure innerProc; end; procedure outerProc; end;
implementation
procedure TOuterClass.TInnerClass.innerProc; begin // ... end;
procedure foo; var x: TOuterClass; y: TOuterClass.TInnerClass; begin x := TOuterClass.Create; x.outerProc; //... y := TOuterClass.TInnerClass.Create; y.innerProc; end;
Delphi2C# converts this to:
class TOuterClass : public System::TObject { typedef System::TObject inherited; private: int myField; public: class TInnerClass : public System::TObject { typedef System::TObject inherited; public: int myInnerField; void innerProc(); void InitMembers(){myInnerField = 0;} public: TInnerClass() {InitMembers();} }; void outerProc(); void InitMembers(){myField = 0;} public: TOuterClass(); };
TOuterClass::TOuterClass() {InitMembers();}
void TOuterClass::TInnerClass::innerProc() { // ... }
void foo() { TOuterClass* x = nullptr; TOuterClass::TInnerClass* y = nullptr; x = new TOuterClass(); x->outerProc(); //... y = new TOuterClass::TInnerClass(); y->innerProc(); }
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
Significant Software
22.01.2010
|
Diese Homepage ist aus einfachen Texten mit [Minimal Website ]generiert.
|
Minimal Website ist mit Hilfe des TextTransformers hergestellt.
|
Der TextTransformer ist gemacht mit dem Borland
CBuilder
|