Méthode statique C ++

Méthode statique C ++
Une méthode en C ++ est également connue comme une fonction, et l'utilisation de méthodes en C ++ favorise le concept de programmation modulaire et de réutilisabilité du code. Cela signifie que les méthodes qui sont autrefois écrites peuvent être appelées de manière répétitive pour autant de fois que nécessaire sans avoir la nécessité de les écrire à chaque fois. Ces méthodes ont les trois propriétés de base suivantes:
  • Les méthodes statiques peuvent être récupérées directement avec le nom de classe et l'opérateur de résolution de portée sans créer d'objet.
  • Les méthodes statiques d'une classe ne peuvent accéder qu'aux membres statiques de cette classe.
  • Les méthodes statiques ne peuvent pas accéder aux membres non statiques d'une classe.

Nous avons conçu cet article pour vous apprendre l'utilisation des méthodes statiques en C ++ dans Ubuntu 20.04.

Utilisation de la méthode statique en C ++ dans Ubuntu 20.04

Pour utiliser les méthodes statiques en C ++ dans Ubuntu 20.04, vous devez d'abord passer par tous les exemples fournis ci-dessous pour avoir une bonne idée de la façon dont ces fonctions fonctionnent en C++.

Exemple n ° 1: Exploration de la première propriété des méthodes statiques en C++

Dans cet exemple, nous souhaitons explorer la première propriété des méthodes statiques en C ++; Les méthodes statiques d'une classe sont accessibles directement avec le nom de classe tout en utilisant l'opérateur de résolution de portée. Pour cela, nous avons écrit un script C ++ illustré dans l'image suivante:

Dans ce script C ++, nous avons défini une classe nommée «numéro». À l'intérieur du corps de cette classe, nous n'avons qu'une seule fonction publique. Nous avons déclaré cette fonction comme «statique». Le nom de cette fonction est «Tissu», Et il prend le numéro« n »comme seul paramètre. Dans cette fonction, nous voulons simplement imprimer la valeur de ce numéro passé sur le terminal. Comme vous pouvez le voir, nous n'avons défini aucun constructeur pour cette classe. Cela signifie que nous n'avons pas l'intention de créer son objet. Au lieu de cela, nous allons accéder directement aux fonctions de cette classe.

Maintenant, dans notre «principal()»Fonction, nous avons accédé au«Tissu«Fonction de la classe« numéro »à l'aide du nom de classe et de l'opérateur de résolution de portée. En appelant cette fonction, nous l'avons passé un nombre aléatoire, je.e., 25. Notre "principal()"La fonction se termine avec l'instruction" Return 0 "car nous avons déclaré qu'il avait un type de retour entier.

Lorsque nous avons compilé et exécuté ce script C ++, notre numéro a été correctement imprimé sur le terminal, comme indiqué dans l'image ci-dessous. Cela signifie que la première propriété des méthodes statiques en C ++ a été satisfaite - les méthodes statiques sont accessibles directement avec le nom de classe sans créer d'objet, et ils fonctionnent exactement comme prévu.

Exemple n ° 2: Exploration de la deuxième propriété des méthodes statiques en C++

Dans cet exemple, nous voulons explorer la deuxième propriété des méthodes statiques en C ++; Les méthodes statiques d'une classe ne peuvent accéder qu'aux membres statiques de cette classe. Pour cela, nous avons écrit un script C ++ illustré dans l'image suivante:

Dans ce script C ++, nous avons d'abord défini une classe nommée «numéro». À l'intérieur du corps de cette classe, nous avons un membre privé «X» qui est de type de données entier, et nous l'avons rendu statique. Ensuite, nous n'avons qu'une seule fonction publique. Nous avons déclaré cette fonction comme «statique". Le nom de cette fonction est «Tissu», Et il prend le numéro« n »comme seul paramètre. Dans cette fonction, nous voulons imprimer la valeur de ce nombre passé sur le terminal et la valeur du membre statique «x».

Après cela, nous avons initialisé le membre statique «X» avec une valeur «10» à l'aide du nom de classe en dehors de notre classe sans utiliser à nouveau le mot-clé «statique». Maintenant, dans notre «principal()»Fonction, nous avons accédé au«Tissu«Fonction de la classe« numéro »à l'aide du nom de classe et de l'opérateur de résolution de portée. En appelant cette fonction, nous l'avons passé un nombre aléatoire, je.e., 25. Notre "principal()"La fonction se termine avec l'instruction" Return 0 "car nous avons déclaré qu'il avait un type de retour entier.

Lorsque nous avons compilé et exécuté ce script C ++, notre numéro, ainsi que la valeur de la variable «x», ont été correctement imprimés sur le terminal, comme indiqué dans l'image ci-dessous. Cela signifie que la deuxième propriété des méthodes statiques en C ++ a été satisfaite - les méthodes statiques ne peuvent accéder qu'aux membres statiques d'une classe en C++.

Exemple n ° 3: Exploration de la troisième propriété des méthodes statiques en C++

Dans cet exemple, nous souhaitons explorer la troisième propriété des méthodes statiques en C ++, qui est, en fait, une autre façon d'énoncer la deuxième propriété; Les méthodes statiques ne peuvent pas accéder aux membres non statiques d'une classe. Pour cela, nous avons écrit un script C ++ illustré dans l'image suivante:

Ce script C ++ ressemble exactement au script affiché dans le deuxième exemple. Cependant, la seule différence est que cette fois, nous n'avons pas déclaré la variable «x» comme statique.

Lorsque nous avons compilé et exécuté ce script C ++, un message d'erreur a été généré sur le terminal comme indiqué dans l'image ci-dessous, indiquant que quelque chose comme la valeur de «x» ne peut pas être accessible par une méthode statique en C++. Cela signifie que la troisième propriété des méthodes statiques en C ++ a été satisfaite - les méthodes statiques ne peuvent accéder à aucun membre non statique d'une classe en C++.

Exemple n ° 4: générer des nombres de rouleaux consécutifs en utilisant les méthodes statiques en C++

Dans cet exemple, nous voulions juste donner une vision globale de la façon dont les méthodes statiques fonctionnent en C ++ en terminant nos exemples. Nous allons simplement créer un programme pour générer des numéros de rouleau dans la plage fournie. Pour cela, nous avons écrit un script C ++ illustré dans l'image suivante:

Dans ce script C ++, nous avons une classe nommée "Rollnumber". Dans cette classe, nous avons un membre statique privé «rollnum» du type de données entier. Ensuite, nous avons une méthode statique publique "getrollnum ()”Avec le type de retour entier. En dehors de la définition de cette classe, nous avons initialisé notre variable «Rollnum» avec une valeur «1» et défini notre «getrollnum ()«Fonction aussi pour retourner le« rollnum »incrémenté à chaque fois qu'il est appelé.

Ensuite, dans notre «principal()«Fonction, nous avons une boucle« pour »qui itère à travers une variable de compteur de« 0 »à« 9 », qui est pour 10 itérations. À l'intérieur de cette boucle, nous voulons imprimer la valeur renvoyée par le «getrollnum ()”Fonction pour chaque itération. Encore une fois, le «principal()"La fonction se termine avec l'instruction" return 0 ".

Lorsque nous avons compilé et exécuté ce script C ++, une série de 10 numéros de rouleau différents a été générée sur le terminal comme indiqué dans l'image suivante:

Conclusion

Notre objectif pour cet article était de vous apprendre l'utilisation des méthodes statiques en C ++ dans Ubuntu 20.04. Nous avons partagé les propriétés de base de ces méthodes, suivies des quatre exemples à travers lesquels vous pouvez savoir instantanément comment ces méthodes fonctionnent en C++. Après avoir compris ces exemples, vous pouvez facilement acquérir une bonne commande sur les méthodes statiques en C++. Nous espérons que vous avez trouvé cet article utile et consultez Linux Indice pour des articles plus informatifs.