Murilo :P

C++, Computação, Programação, Web e afins :)

Sobrecarga do operator++ para enums

with one comment

Mais uma trick com enums.

A sobrecarga de operadores podem facilitar o manuseio de enums. Abaixo está um exemplo de como pode ser útil a sobrecarga do operator++.

#include

using std::cout;
using std::endl;

enum Semana
{
DOM,
SEG,
TER,
QUA,
QUI,
SEX,
SAB
};

Semana& operator++(Semana& dia) //pré-incremento
{
return dia = static_cast((dia + 1) % 7);
}

Semana& operator++(Semana& dia, int) //pós-incremento
{
return dia = static_cast((dia + 1) % 7);
}

int main()
{
Semana dia = SEX;
cout << dia << endl; // SEX (5) cout << ++dia << endl; // SAB (6) cout << ++dia << endl; // DOM (0) dia++; // SEG (1) cout << dia << endl; } [/code] Quando chegamos no último dia da semana (SAB) e chamamos o operator++, obtemos o primeiro dia da semana graças ao operador módulo (%). Referência.

Advertisements

Written by Murilo Adriano

25 de July de 2009 at 00:35

Posted in C/C++, Programação

Tagged with , , ,

One Response

Subscribe to comments with RSS.

  1. hehe, foi legal o: “obtemos o primeiro dia da semana graças ao operador módulo (%).”

    nem entre no meu blog que está desatualizado. rs.

    Diogo Ortiz

    25 de July de 2009 at 18:07


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: