Que sont les classes ENUM en C ++

Que sont les classes ENUM en C ++

Le classe d'énumération est une caractéristique de C ++ qui permet aux utilisateurs de définir les nouveaux types de données. Classe d'énumération, ou énumération, est un type de données défini par l'utilisateur qui se compose d'un ensemble de valeurs nommées. Ces valeurs sont constantes et représentent généralement un groupe d'entités ou de résultats apparentés.

Un classe d'énumération En C ++ est une énumération basée sur la portée qui est utilisée pour spécifier l'ensemble des valeurs potentielles qu'une variable peut contenir. Des ensembles simples de valeurs associées qui sont souvent utilisées comme constantes peuvent être définies de cette manière de type. Le «Classe d'énumération» Le mot-clé est utilisé pour le déclarer. Le classe d'énumération et l'énumération diffère les uns des autres en ce qu'ils sont de type type. Le classe d'énumération ne compare pas les énumérateurs de diverses énumérations et ne fournit pas de conversion implicite en int.

Syntaxe de la classe d'énumération

// Déclaration
Enum class enumname value1, value2,… valuen;
// initialisation
Enumname objectName = enumname :: value;


Tout type intégral, y compris int, court, char, long, non signé, etc., peut être utilisé pour les valeurs.

Exemple de classe d'énumération

Voici un exemple de classe d'énumération en c++.

#inclure
Couleur de classe d'énumération violet, jaune, noir;
int main()
Couleur C = couleur :: noir;
commutateur (c)
Couleur du boîtier :: noir:
std :: cout << "The color is black\n";
casser;
Couleur du boîtier :: Violet:
std :: cout << "The color is violet\n";
casser;
Couleur du boîtier :: jaune:
std :: cout << "The color is yellow\n";
casser;

retour 0;


Dans l'exemple ci-dessus, le Classe d'énumération "Couleur" a été défini. Cela peut prendre l'une des trois valeurs potentielles: violet, jaune et noir. Il s'agit d'une énumération dans la portée, comme indiqué par le «Classe d'énumération» mot-clé, ce qui signifie que les valeurs ne sont disponibles que dans le "Couleur" espace de noms.

Nous déclarons une variable de type «C» de la couleur "Couleur" et l'initialiser à "La couleur noire" Dans la fonction principale. Ensuite, sur la base de la valeur de «C», Nous imprimons un message en utilisant un changer déclaration. Nous devons utiliser le "Couleur::" préfixe pour accéder aux valeurs de "Couleur", qui est une énumération dans le cadre.

Sortir



Le classe d'énumération A les avantages suivants en langue C ++.

1: pollution de l'espace de noms mondial

Classe d'énumération restreint la portée des valeurs énumérées. En revanche, régulier énumération Polluer l'espace de noms global, ce qui rend difficile la différenciation entre deux types de dénombrement différents dans différentes lunettes.

2: Type Sécurité

Le classe d'énumération est plus sécurisé que régulier énumération, ce qui peut conduire à des bogues subtils. Une valeur énumérée dans un classe d'énumération n'est pas implicitement converti en entier. Il reste comme défini, et l'utilisation d'une valeur différente qui n'est pas dans la plage actuellement définie entraînera une erreur de compilation.

3: lisibilité

Un classe d'énumération Fournit une syntaxe plus lisible car elle nécessite des valeurs constantes pour être qualifiées avec le type d'énumération. Il est plus facile de lire et de comprendre quelle énumération est utilisée dans le code. Il est plus simple de s'auto-automatique et de prévenir les erreurs d'orthographe lors de l'utilisation d'un IDE qui peut identifier l'ensemble des énumérateurs déclarés dans un classe d'énumération. Par rapport à l'utilisation de constantes conventionnelles, la syntaxe pour accéder à un énumérateur spécifique est également plus simple et explicite.

4: fortement dactylographié

Le classe d'énumération garantit que les valeurs qu'il détient sont du même type. Il empêche la comparaison ou l'attribution de valeurs de différents types d'énumération par erreur.

5: Définissez le type sous-jacent

Vous pouvez définir le type sous-jacent de l'énumération tout en définissant un classe d'énumération. Lorsque vous souhaitez enregistrer la collection d'énumérateurs comme type de données, cela est utile. Par exemple, vous pouvez choisir «Int» comme type sous-jacent de l'énumération si vous souhaitez enregistrer la collection d'énumérateurs en tant qu'entier. Néanmoins, car il offre une sécurité de type supérieure et empêche tout comportement inattendu, il est conseillé d'utiliser un entier non signé comme type sous-jacent.

6: Encapsulation

La capacité de mieux encapsuler les données est l'une des Classe en énumération principales caractéristiques. Il en résulte un code plus structuré et compréhensible car les valeurs énumérées ne sont disponibles que dans la classe déclarée. De plus, il améliore la sécurité des types et élimine les malentendus entre divers énumérateurs.

Conclusion

Le classe d'énumération En C ++ est une caractéristique essentielle qui fournit un plus grand contrôle et clarté dans la définition de nouveaux types de données. Avec sa syntaxe simple et sa nature de type type, c'est une pratique recommandée à utiliser Cours d'énumération en C ++ chaque fois que vous avez besoin de définir un ensemble de constantes connexes. Cela rend non seulement votre code plus organisé et lisible, mais il améliore également les performances et la sécurité de votre programme.