dcsimg
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: Intermediate
Mar 19, 1999

WEBINAR:

On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning


Overloading Operators for enum Types

For some enum types, it may be useful to define overloaded operators, such as ++ and --, that can iterate through the enumerator values:
 
#include <iostream>
using namespace std;

enum Days {Mon, Tue, Wed, Thur, Fri, Sat, Sun};

Days& operator++(Days& d, int)  // int denotes postfix++
{
  if (d == Sun) return d = Mon; //rollover
  int temp = d;
  return d = static_cast<Days> (++temp); 
}

int main()
{
 Days day = Mon;
 for (;;) //display days as integers
 {
  cout<< day <<endl;
  day++;
  if (day == Mon) break;
 }
 return 0;
} 
Danny Kalev
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date