Statische Eigenschaften
Nach oben zu Klassen - Index
In C++Builder 2009 wurden statische Eigenschaften implementiert, um die Kompatibilität mit der Delphi-Sprache zu verbessern
Deklarieren von statischen Klassenfunktionen
Wenn Eigenschaftszugriffsfunktionen (Getter und Setter) als statisch deklariert sind, können Sie die Eigenschaft direkt aus der Klasse ohne Angabe eines Objekts verwenden. Zum Beispiel:
class TMyClass : TComponent { static int x; static int GetX() { return x; } static void SetX( int i ) { x = i; } __property int X = { read = GetX, write = SetX } }; TMyClass::X = 5; int y = TMyClass::X;
Delphi lässt auch reine statische Methoden zum Ermitteln und Setzen (Getter und Setter) von Eigenschaften zu. Beachten Sie bitte, dass diese statischen Methoden keine Klassenmethoden sind; es gibt keinen verborgenen Parameter. Zum Beispiel:
class TTest{ static int __fastcall GetCount(); static void __fastcall SetCount(int I); public: __property int Count = {read=GetCount, write=SetCount}; };
In diesem Fall können Sie die Eigenschaften so verwenden:
int c = TTest::Count; TTest t; int i = t.Count;
Der C++-Compiler unterstützt bereits statische Eigenschaften, die eine Zuordnung zu einer Member-Variable vornehmen. Zum Beispiel:
class TEncoding { static int Prop; public: __property int Count = { read=Prop }; }; int f(TEncoding& t) { return t.Count; }
Siehe auch
- C++-Klassen
- Klassenmethoden
- Klassentypen
- Gültigkeitsbereich Klasse
- Klassen-Member-Liste
- Member-Funktionen
- Das Schlüsselwort this
- Statische Elemente
- Inline-Funktionen
- Gültigkeitsbereich von Elementen
- Verschachtelte Typen
- Element-Zugriffskontrolle
- Zugriff auf Basisklassen und abgeleitete Klassen
- Virtuelle Basisklassen
- Friends von Klassen