Enumeration in C++

What is Enumeration ?

Enumeration in C++, helps the programmer to create user defined data-types, to make the code more easy and readable. Enum saves time and makes the program more readable. To define enums, the enum keyword is used and enum variables can also take their corresponding integral value, starting from zero.

enum

Enumeration used in C++

Enum is almost similar to structure, as it can hold any data-type, which the programmer may want, this is advantageous when the program gets complicated or when more than one programmer would be working on it, for the sake of better understanding.

Declaration

Declaring a enum is almost similar to declare a structure.
We can declare a enum using the keyword “enum” followed by the enum name, and than stating its elements with the curly braces “{}”, separated by commas.

enum color {
red,
green,
blue
};
  • The first part of the above declaration, declares the data type and specifies its possible values. These values are called “enumerators”.
  • The second part declares variables of this data-types.

Working of Enumeration

The variables declared within the enum, are treated as integers, i.e. each variable of the enumerator can take its corresponding integral value, starting from zero(0). That means in our above discussed example,

  • red = 0
  • green = 1
  • blue = 2

The main purpose of using enumerated variables is to ease the understanding of the program. For example, if we need to employee departments in a payroll program, it’ll make the listing easier to read if we use values like Assembly, Production, Accounts, etc, rather than using 1,2 and 3.

Let’s take one more example for understanding this:

Example:

Run
#include <bits/stdc++.h> 
using namespace std;

int main()
   {
       enum emp_dept    //declaring enum emp_dept and its variables
           {
                 assembly,
                 manufacturing,
                 accounts,
                 stores
           };
       struct employee   //declaring srtucture
           {
              char name[30];
              int age;
              float bs;
              enum emp_dept department;
           };
         struct employee e;
       strcpy(e.name, "Nitin Kumar");   //intializing employee details
       e.age=22;
       e.bs=12500;
       e.department=stores;
       
       printf("\n Name = %s",e.name);
       printf("\n Age = %d",e.age);
       printf("\n Basic Salary = %f",e.bs);  
       printf("\n Department = %d",e.department);

          if(e.department==accounts)
              printf("\n %s is an accountant",e.name);
          else
              printf("\n %s is not an accountant",e.name);
              
    return 0;
    }

Output

 Name = Nitin Kumar
 Age = 22
 Basic Salary = 12500.000000
 Department = 3
 Nitin Kumar is not an accountant

Prime Course Trailer

Related Banners

Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription

Get over 200+ course One Subscription

Courses like AI/ML, Cloud Computing, Ethical Hacking, C, C++, Java, Python, DSA (All Languages), Competitive Coding (All Languages), TCS, Infosys, Wipro, Amazon, DBMS, SQL and others

Checkout list of all the video courses in PrepInsta Prime Subscription

Checkout list of all the video courses in PrepInsta Prime Subscription