Dans ce cours, nous allons expliquer d’une manière brève, claire et nette ce que c’est une donnée et fonction
membre statique.
Pour caractériser les données membres statiques des classes, les fonctions membres statiques des classes, et les
données statiques des fonctions membres, on utilise le mot-clé static.
Une variable statique (static) signifie que la variable n’existe qu’en un seul exemplaire. Et quand elle est
constante (const), cela signifie qu’on ne peut pas changer sa valeur. De toute façon même si on veut changer sa
valeur, le compilateur nous tiendra la main en disant : « Stop ! Ne faites pas ça ».
Une classe peut avoir des données membres
statistiques qui lui sont propres ou qui sont propres à des fonctions membres qui lui sont propres.
La déclaration se fait de la même manière qu’une variable globale sauf qu’elle est précédée du mot-clé static.
Ci-dessous les syntaxes de la déclaration et de l’initialisation d’une donnée membre statique :
Syntaxe de la déclaration :
static type nom-de-donnée ;
Syntaxe d’initialisation
type nom-de-la-classe ::type nom-de-donnée = valeur ;
Exemple :
NB : Une donnée membre statique ne doit pas être définit qu’une seule fois dans le programme.
Une classe peut avoir des fonctions membres statiques. Ces fonctions ont un rôle indépendant des objets
de la classe. Pour déclarer une telle fonction, on utilise le mot clef static.
Trois noms sont utilisés pour appeler cette fonction : fonction membre statique, fonction de classe,
ou méthode de classe.
Il faut noter qu’une fonction membre statique peut accéder seulement aux données membres statiques. Elle ne peut pas donc accéder aux données membres non-statiques.
Exemple :