Login | Register   
Twitter
RSS Feed
Download our iPhone app
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

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