Propriétés statiques
Remonter à Classes - Index
Les propriétés statiques ont été implémentées dans C++Builder 2009 pour améliorer la compatibilité avec le langage Delphi
Déclaration des fonctions de classe comme statiques
Si les fonctions d'accès aux propriétés (getters et setters) sont déclarées comme statiques, vous pouvez utiliser la propriété directement depuis la classe sans spécifier un objet. Par exemple :
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 permet également les méthodes statiques simples comme les getters (lecture) et les setters (écriture) de propriétés. Notez que ces méthodes statiques ne sont pas des méthodes de classe ; il n'y a pas de paramètre caché. Par exemple :
class TTest{ static int __fastcall GetCount(); static void __fastcall SetCount(int I); public: __property int Count = {read=GetCount, write=SetCount}; };
Dans ce cas, vous pouvez alors utiliser les propriétés comme ceci :
int c = TTest::Count; TTest t; int i = t.Count;
Le compilateur C++ supporte déjà les propriétés statiques qui sont mappées en variable de membre. Par exemple :
class TEncoding { static int Prop; public: __property int Count = { read=Prop }; }; int f(TEncoding& t) { return t.Count; }
Voir aussi
- Classes C++
- Méthodes de classe
- Noms de classes
- Types de classes
- Portée du nom de classe
- Liste des membres de classe
- Fonctions membres
- Mot clé This
- Membres statiques (C++)
- Fonctions inline
- Portée des membres
- Déclarations de types imbriqués
- Contrôle d'accès aux membres
- Accès aux classes de base et dérivées
- Classes de base virtuelles
- Amies de classes