Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Membres Statiques de la Classe | Fondamentaux de la POO en C++
Programmation Orientée Objet en C++
course content

Contenu du cours

Programmation Orientée Objet en C++

Programmation Orientée Objet en C++

1. Fondamentaux de la POO en C++
2. Constructeurs et Destructeurs
3. Aperçu de l'Encapsulation
4. Aperçu de l'Héritage
5. Aperçu du Polymorphisme

book
Membres Statiques de la Classe

En programmation orientée objet, le mot-clé static revêt une signification particulière, modifiant le comportement des attributs et des méthodes. Il existe parfois des situations où certaines données doivent être partagées entre tous les objets d'une classe plutôt que d'être dupliquées pour chaque instance. C'est là qu'interviennent les membres de données statiques.

Syntaxe des membres statiques

La création d'un membre statique d'une classe est simple. Il suffit de faire précéder la déclaration du mot-clé static.

Example.h

Example.h

copy
12345
class Example { public: static int static_attibute; static void static_method() { std::cout << "Static method!" << std::endl; } };

Dans l'exemple ci-dessus, static_attribute et static_method() sont déclarés comme membres de données statiques de la class Example. Contrairement aux membres de données ordinaires, les membres statiques sont associés à la classe elle-même plutôt qu'à des objets individuels. Cela signifie que toutes les instances de Example partagent les mêmes membres statiques.

L'initialisation est essentielle pour les membres de données statiques, et elle doit être effectuée en dehors de la classe à moins que le membre n'utilise également le mot-clé const.

FirstExample.h

FirstExample.h

SecondExample.h

SecondExample.h

copy
1234567
class Example { public: static int static_attribute; static void static_method() { std::cout << "Static method!" << std::endl; } }; int Example::static_attribute = 0;

Avantages de l'utilisation des membres statiques

L'utilisation des membres de données statiques et des fonctions membres statiques offre plusieurs avantages.

main.cpp

main.cpp

copy
12345678910111213141516171819202122
#include <iostream> class Example { public: static int static_attribute; static void static_method() { std::cout << "Static method!" << std::endl; } }; // Initialization of the static member variable int Example::static_attribute = 0; int main() { Example obj1, obj2; obj1.static_attribute = 100; // Modifying static_attribute through obj1 std::cout << obj1.static_attribute << std::endl; std::cout << obj2.static_attribute << std::endl; Example::static_attribute = 25; // Modifying static_attribute through class Example::static_method(); // Calling the static method through class }
question mark

Laquelle des affirmations suivantes concernant les variables membres statiques est vraie ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 6

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

course content

Contenu du cours

Programmation Orientée Objet en C++

Programmation Orientée Objet en C++

1. Fondamentaux de la POO en C++
2. Constructeurs et Destructeurs
3. Aperçu de l'Encapsulation
4. Aperçu de l'Héritage
5. Aperçu du Polymorphisme

book
Membres Statiques de la Classe

En programmation orientée objet, le mot-clé static revêt une signification particulière, modifiant le comportement des attributs et des méthodes. Il existe parfois des situations où certaines données doivent être partagées entre tous les objets d'une classe plutôt que d'être dupliquées pour chaque instance. C'est là qu'interviennent les membres de données statiques.

Syntaxe des membres statiques

La création d'un membre statique d'une classe est simple. Il suffit de faire précéder la déclaration du mot-clé static.

Example.h

Example.h

copy
12345
class Example { public: static int static_attibute; static void static_method() { std::cout << "Static method!" << std::endl; } };

Dans l'exemple ci-dessus, static_attribute et static_method() sont déclarés comme membres de données statiques de la class Example. Contrairement aux membres de données ordinaires, les membres statiques sont associés à la classe elle-même plutôt qu'à des objets individuels. Cela signifie que toutes les instances de Example partagent les mêmes membres statiques.

L'initialisation est essentielle pour les membres de données statiques, et elle doit être effectuée en dehors de la classe à moins que le membre n'utilise également le mot-clé const.

FirstExample.h

FirstExample.h

SecondExample.h

SecondExample.h

copy
1234567
class Example { public: static int static_attribute; static void static_method() { std::cout << "Static method!" << std::endl; } }; int Example::static_attribute = 0;

Avantages de l'utilisation des membres statiques

L'utilisation des membres de données statiques et des fonctions membres statiques offre plusieurs avantages.

main.cpp

main.cpp

copy
12345678910111213141516171819202122
#include <iostream> class Example { public: static int static_attribute; static void static_method() { std::cout << "Static method!" << std::endl; } }; // Initialization of the static member variable int Example::static_attribute = 0; int main() { Example obj1, obj2; obj1.static_attribute = 100; // Modifying static_attribute through obj1 std::cout << obj1.static_attribute << std::endl; std::cout << obj2.static_attribute << std::endl; Example::static_attribute = 25; // Modifying static_attribute through class Example::static_method(); // Calling the static method through class }
question mark

Laquelle des affirmations suivantes concernant les variables membres statiques est vraie ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 6
some-alt