Murilo :P

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

Posts Tagged ‘sobrecarga

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.

Written by Murilo Adriano

25 de July de 2009 at 00:35

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

Tagged with , , ,