logo

C++ statique

En C++, static est un mot-clé ou un modificateur qui appartient au type et non à l'instance. L’instance n’est donc pas nécessaire pour accéder aux membres statiques. En C++, static peut être un champ, une méthode, un constructeur, une classe, des propriétés, un opérateur et un événement.


Avantage du mot-clé statique C++

Efficacité mémoire : Désormais, nous n'avons plus besoin de créer d'instance pour accéder aux membres statiques, cela économise donc de la mémoire. De plus, il appartient au type, il n’obtiendra donc pas de mémoire à chaque fois lors de la création d’une instance.


Champ statique C++

Un champ déclaré comme statique est appelé champ statique. Contrairement au champ d'instance qui obtient de la mémoire à chaque fois que vous créez un objet, il n'y a qu'une seule copie du champ statique créée dans la mémoire. Il est partagé avec tous les objets.

logiciel système

Il est utilisé pour faire référence à la propriété commune de tous les objets tels que rateOfInterest dans le cas d'un compte, companyName dans le cas d'un employé, etc.


Exemple de champ statique C++

Voyons l'exemple simple d'un champ statique en C++.

liste des religions
 #include using namespace std; class Account { public: int accno; //data member (also instance variable) string name; //data member(also instance variable) static float rateOfInterest; Account(int accno, string name) { this-&gt;accno = accno; this-&gt;name = name; } void display() { cout&lt; <accno<< '<<name<< ' '<<rateofinterest<<endl; } }; float account::rateofinterest="6.5;" int main(void) { account a1="Account(201," 'sanjay'); creating an object of employee a2="Account(202," 'nakul'); a1.display(); a2.display(); return 0; < pre> <p>Output:</p> <pre> 201 Sanjay 6.5 202 Nakul 6.5 </pre> <hr> <h2>C++ static field example: Counting Objects</h2> <p>Let&apos;s see another example of static keyword in C++ which counts the objects.</p> <pre> #include using namespace std; class Account { public: int accno; //data member (also instance variable) string name; static int count; Account(int accno, string name) { this-&gt;accno = accno; this-&gt;name = name; count++; } void display() { cout&lt; <accno<<' '<<name<<endl; } }; int account::count="0;" main(void) { account a1="Account(201," 'sanjay'); creating an object of a2="Account(202," 'nakul'); a3="Account(203," 'ranjana'); a1.display(); a2.display(); a3.display(); cout<<'total objects are: '< <account::count; return 0; < pre> <p>Output:</p> <pre> 201 Sanjay 202 Nakul 203 Ranjana Total Objects are: 3 </pre></accno<<'></pre></accno<<>

Exemple de champ statique C++ : comptage d'objets

Voyons un autre exemple de mot-clé static en C++ qui compte les objets.

 #include using namespace std; class Account { public: int accno; //data member (also instance variable) string name; static int count; Account(int accno, string name) { this-&gt;accno = accno; this-&gt;name = name; count++; } void display() { cout&lt; <accno<<\' \'<<name<<endl; } }; int account::count="0;" main(void) { account a1="Account(201," \'sanjay\'); creating an object of a2="Account(202," \'nakul\'); a3="Account(203," \'ranjana\'); a1.display(); a2.display(); a3.display(); cout<<\'total objects are: \'< <account::count; return 0; < pre> <p>Output:</p> <pre> 201 Sanjay 202 Nakul 203 Ranjana Total Objects are: 3 </pre></accno<<\'>