C ++ Opsomming

In dit artikel leer je werken met opsomming (enum). Je leert ook waar enums vaak worden gebruikt in C ++ -programmering.

Een opsomming is een door de gebruiker gedefinieerd gegevenstype dat bestaat uit integrale constanten. Om een ​​opsomming te definiëren, wordt het trefwoord enum gebruikt.

 opsomming seizoen (lente, zomer, herfst, winter);

Hier is de naam van de opsomming seizoen.

En lente, zomer en winter zijn waarden van het typeseizoen.

Standaard is lente 0, zomer is 1 enzovoort. U kunt de standaardwaarde van een enum-element tijdens de declaratie wijzigen (indien nodig).

 enum seizoen (lente = 0, zomer = 4, herfst = 8, winter = 12);

Opgesomde typeaangifte

Wanneer u een opgesomd type maakt, wordt alleen een blauwdruk voor de variabele gemaakt. Hier leest u hoe u variabelen van het enum-type kunt maken.

enum boolean (false, true); // binnen functie enum booleaanse controle;

Hier wordt een variabele typecontrole enum booleangemaakt.

Hier is een andere manier om dezelfde controlevariabele te declareren met een andere syntaxis.

 enum boolean (false, true) controle; 

Voorbeeld 1: Opsommingstype

 #include using namespace std; enum week ( Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday ); int main() ( week today; today = Wednesday; cout << "Day " << today+1; return 0; ) 

Uitvoer

 Dag 4

Voorbeeld 2: de standaardwaarde van enums wijzigen

 #include using namespace std; enum seasons ( spring = 34, summer = 4, autumn = 9, winter = 32); int main() ( seasons s; s = summer; cout << "Summer = " << s << endl; return 0; )

Uitvoer

 Zomer = 4

Waarom worden enums gebruikt in C ++ - programmering?

Een enum-variabele neemt slechts één waarde uit vele mogelijke waarden. Voorbeeld om het te demonstreren,

 #include using namespace std; enum suit ( club = 0, diamonds = 10, hearts = 20, spades = 3 ) card; int main() ( card = club; cout << "Size of enum variable " << sizeof(card) << " bytes."; return 0; ) 

Uitvoer

 Grootte van enumvariabele 4 bytes.

Het is omdat de grootte van een geheel getal 4 bytes is .;

Dit maakt enum een ​​goede keuze om met vlaggen te werken.

U kunt dezelfde taak uitvoeren met C ++ - structuren. Werken met enums geeft u echter efficiëntie en flexibiliteit.

Hoe enums voor vlaggen te gebruiken?

Laten we een voorbeeld nemen,

 enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button; 

Stel dat u een knop ontwerpt voor een Windows-applicatie. U kunt vlaggen ITALICS, BOLD en UNDERLINE instellen om met tekst te werken.

Er is een reden waarom alle integrale constanten de macht 2 zijn in de bovenstaande pseudocode.

 // In binair ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Aangezien de integrale constanten macht van 2 zijn, kunt u twee of meer vlaggen tegelijk combineren zonder elkaar te overlappen met bitsgewijze OR | operator. Hierdoor kunt u twee of meer vlaggen tegelijk kiezen. Bijvoorbeeld,

 #include using namespace std; enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 cout << myDesign; return 0; ) 

Uitvoer

 5

Als de uitvoer 5 is, weet u altijd dat vet en onderstreept wordt gebruikt.

U kunt ook een vlag toevoegen aan uw vereisten.

 if (myDesign & ITALICS) (// code voor cursief)

Hier hebben we cursief aan ons ontwerp toegevoegd. Merk op dat alleen code voor cursief wordt geschreven in de if-instructie.

U kunt bijna alles bereiken in C ++ -programmering zonder opsommingen te gebruiken. Ze kunnen echter in bepaalde situaties erg handig zijn. Dat is wat goede programmeurs onderscheidt van geweldige programmeurs.

Interessante artikelen...