Einzelnen Beitrag anzeigen

DMW

Registriert seit: 6. Sep 2006
Ort: Münster
269 Beiträge
 
Delphi XE Professional
 
#4

AW: Zugriff auf Elemente im VCL Ribbon

  Alt 15. Feb 2012, 21:34
In Delphi können Klassen Default-Array-Eigenschaften haben, so daß etwa objekt[i] als objekt.DefaultProperty[i] interpretiert wird. In C++ würde das so nicht gehen, weil das Objektmanagement über Zeiger geschieht und objekt[i] in C++ für Zeiger nur eine Alternativschreibweise für *(objekt + i) ist.

Der Delphi-Compiler generiert trotzdem für Default-Eigenschaften einen []-Operator-Overload, etwa für TList:
Code:
class PASCALIMPLEMENTATION TList : public System::TObject
{
   typedef System::TObject inherited;
   ...   
public:
   void * operator[](int Index) { return Items[Index]; }
   ...
   __property void * Items[int Index] = {read=Get, write=Put/*, default*/};
Aber zum Benutzen muß man den Zeiger explizit dereferenzieren: aus objekt[i] in Delphi würde also (*objekt)[i] in C++. Auf Dauer ist das auch lästig.
Moritz
"Hey, it compiles! Ship it!"
C++Builder Pages
  Mit Zitat antworten Zitat