Static en C++
Résolu
jihane jihane
Messages postés
65
Date d'inscription
Statut
Membre
Dernière intervention
-
jihane jihane Messages postés 65 Date d'inscription Statut Membre Dernière intervention -
jihane jihane Messages postés 65 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
svp pour quoi en déclare une valeur dans un programme C++ comme étant static et merci d'avance pour votre future réponse
svp pour quoi en déclare une valeur dans un programme C++ comme étant static et merci d'avance pour votre future réponse
2 réponses
Ce ne sont pas des valeurs que l'on déclare "static", mais des variables, ou des méthodes.
Cela signifie qu'elles ont un comportement "de classe" peu importe l'objet courant this.
Une variable static a donc une seule valeur (éventuellement modifiable) peu importe que l'on utilise un objet a, b, ou c...
Exemple (très approximatif) :
Cela signifie qu'elles ont un comportement "de classe" peu importe l'objet courant this.
Une variable static a donc une seule valeur (éventuellement modifiable) peu importe que l'on utilise un objet a, b, ou c...
Exemple (très approximatif) :
static int x = 0; // compte le nombre d'objets instanciés. MaClasse::MaClasse() { x++; } void MaClasse::~MaClasse() { x--; } void static MaClasse::afficher() { std::cout << x << std::endl; } int main(void) { MaClasse::afficher(); // 0 MaClasse a(); MaClasse::afficher(); // 1 a.afficher(); // 1 { MaClasse b(); MaClasse::afficher(); // 2 a.afficher(); // 2 b.afficher(); // 2 } MaClasse::afficher(); // 1 a.afficher(); // 1 return 0; }
KX
Messages postés
16761
Date d'inscription
Statut
Modérateur
Dernière intervention
3 020
Code correct à tester (et comprendre)
jihane jihane
Messages postés
65
Date d'inscription
Statut
Membre
Dernière intervention
merci pour la réponse , et j'ai bien compris maintenant :)