Was sind Enum -Klassen in C ++?

Was sind Enum -Klassen in C ++?

Der Auflaufklasse ist eine Funktion von C ++, die es den Benutzern einfach macht, neue Datentypen zu definieren. Auflaufklasse, oder Aufzählung ist ein benutzerdefinierter Datentyp, der aus einer Reihe benannter Werte besteht. Diese Werte sind konstant und stellen typischerweise eine Gruppe verwandter Entitäten oder Ergebnisse dar.

Ein Auflaufklasse In C ++ befindet sich eine umfangbasierte Aufzählung, mit der die Menge potenzieller Werte festgelegt wird, die eine Variable enthalten kann. Einfache Sätze zugehöriger Werte, die häufig als Konstanten verwendet werden. Der "Enum -Klasse" Schlüsselwort wird verwendet, um es zu deklarieren. Der Auflaufklasse und Enum unterscheiden sich voneinander, da sie Typ-Sicherheit sind. Der Auflaufklasse Vergleicht keine Aufzähler verschiedener Aufzählungen und liefert keine implizite Konvertierung in INT.

Syntax der Enum -Klasse

// Erklärung
Enum Class Enumname value1, value2,… Valuen;
// Initialisierung
Enumname ObjectName = Enumname :: Value;


Jeder integrale Typ, einschließlich INT, Short, Char, Long, Unsigned usw., kann für die Werte verwendet werden.

Beispiel der Enum -Klasse

Hier ist ein Beispiel für eine Auflaufklasse in c++.

#enthalten
Enum Class Color violett, gelb, schwarz;
int main ()
Farbe c = Farbe :: Schwarz;
Schalter (c)
Fallfarbe :: Schwarz:
std :: Cout << "The color is black\n";
brechen;
Fallfarbe :: Violet:
std :: Cout << "The color is violet\n";
brechen;
Fallfarbe :: Gelb:
std :: Cout << "The color is yellow\n";
brechen;

Rückkehr 0;


Im obigen Beispiel die Enum -Klasse "Farbe" Wurde definiert. Es kann einen von drei potenziellen Werten erfordern: violett, gelb und schwarz. Dies ist eine zahlreiche Aufzählung, wie durch die angegeben "Enum -Klasse" Schlüsselwort, was bedeutet, dass die Werte nur innerhalb der verfügbar sind "Farbe" Namespace.

Wir deklarieren eine Variable des Typs "C" der Farbe "Farbe" und initialisieren Sie es zu "Farbe: Schwarz" in der Hauptfunktion. Dann basierend auf dem Wert von "C", Wir drucken eine Nachricht mit a schalten Stellungnahme. Wir müssen die verwenden "Farbe::" Präfix zum Zugriff auf die Werte von "Farbe", Das ist eine zahlreiche Aufzählung.

Ausgang



Der Auflaufklasse Hat die folgenden Vorteile in C ++ - Sprache.

1: Globaler Namespace -Verschmutzung

Auflaufklasse schränkt den Umfang der aufzähligen Werte ein. Dagegen regelmäßig Aufschwung Um den globalen Namespace zu verschmutzen, macht es schwierig, zwischen zwei verschiedenen Arten der Aufzählung in verschiedenen Bereichen zu unterscheiden.

2: Geben Sie die Sicherheit ein

Der Auflaufklasse ist mehr Typ-Safe als regulär Aufschwung, was zu subtilen Insekten führen kann. Ein aufgezählter Wert in einem Auflaufklasse wird nicht implizit in eine Ganzzahl umgewandelt. Es bleibt wie definiert, und die Verwendung eines anderen Wertes, der nicht innerhalb des aktuell definierten Bereichs liegt.

3: Lesbarkeit

Ein Auflaufklasse Bietet eine lesbarere Syntax, da es erfordert, dass konstante Werte mit dem Aufzählungstyp qualifiziert werden. Es ist einfacher zu lesen und zu verstehen, welche Aufzählung im Code verwendet wird. Es ist einfacher, sich automatisch zu vervollständigen und Rechtschreibfehler zu verhindern Auflaufklasse. Im Vergleich zur Verwendung herkömmlicher Konstanten ist die Syntax für den Zugriff auf einen bestimmten Enzerator auch einfacher und expliziter.

4: stark tippt

Der Auflaufklasse garantiert, dass die von ihnen gehaltenen Werte vom gleichen Typ sind. Es verhindert, dass Werte aus Versehen von verschiedenen Enum -Typen verglichen oder zugeordnet werden.

5: Definieren Sie den zugrunde liegenden Typ

Sie können den zugrunde liegenden Typ des Enum definieren, während Sie eine definieren Auflaufklasse. Wenn Sie die Sammlung von Aufzählern als bestimmte Datentyp speichern möchten, ist dies hilfreich. Beispiel. Da es jedoch überlegene Sicherheitspotenzielle bietet und unerwartete Verhaltensweisen verhindert, wird empfohlen, eine nicht signierte Ganzzahl als zugrunde liegende Art zu verwenden.

6: Kapselung

Die Fähigkeit, die Daten besser zu verkörpern Auflaufklasse Schlüsseleigenschaften. Dies führt zu einem strukturierteren und verständlichen Code, da die aufzähligen Werte nur innerhalb der deklarierten Klasse verfügbar sind. Darüber hinaus verbessert es die Art der Type und beseitigt Missverständnisse zwischen verschiedenen Aufzählern.

Abschluss

Der Auflaufklasse In C ++ ist eine wesentliche Funktion, die eine bessere Kontrolle und Klarheit bei der Definition neuer Datentypen bietet. Mit seiner einfachen Syntax- und Typ-sicherer Art ist es eine empfohlene Praxis zu verwenden Enum -Klassen In C ++, wann immer Sie eine Reihe verwandter Konstanten definieren müssen. Es macht Ihren Code nicht nur organisierter und lesbarer, sondern verbessert auch die Leistung und Sicherheit Ihres Programms.