• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

Enumerações Estruturas

Serr@no™

GF Ouro
Membro Inactivo
Entrou
Set 23, 2006
Mensagens
1,690
Gostos Recebidos
0
As enumerações são uma alternativa a definir constantes e, visto que em C++ são mesmo um tipo, são mesmo muito úteis. Exemplo: enum { GREEN, YELLOW, RED }; era o mesmo que criar três constantes com os valores 0, 1 e 3. Por defeito o primeiro valor de uma enum é zero. Exemplos:
enum Mes { JAN = 1, FEV, MAR, ABR, MAI, JUN, JUL, AGO, SET, NOV, DEZ };
// o valor de FEV = 2, MAR = 3... por ai adiante


Mes mes;
// ...


switch( mes )
{
case JAN: //...
break;


case FEV: //...
break;
}
As enums ajudam muito em termos de raciocínio pois podemos usar palavras para descrever o que quisermos. Por norma as constantes são escritas com letras maiúsculas.
Estruturas

Uma estrutura em C servia para agrupar diferentes variáveis. Em C++ é muito mais poderosa dando para incluir construtores e métodos, mas destes assuntos só falarei no capítulo das classes. Aqui veremos as estruturas como agrupamentos de variáveis.
#include <iostream>
using namespace std;


enum Especialidade { VENDAS, PUBLICIDADE };


struct Empregado {
int num];
int idade;
Especialidade esp;
};


void main()
{
// diferentes maneiras de inicalizar estruturas
Empregado emp1 = { 1, 35, VENDAS };
Empregado emp2;


// utiliza-se o ponto '.' para se aceder a cada atributo da variavel emp2
emp2.num = 2;
emp2.idade = 19;
emp2.esp = PUBLICIDADE;


cout<<"Empregados:"
<<endl<< emp1.num <<", "<< emp1.idade <<" anos. Especialidade: "<< emp1.esp
<<endl<< emp2.num <<", "<< emp2.idade <<" anos. Especialidade: "<< emp2.esp;


cin.get();
}
Quando se faz cout<<emp1.esp; não aparecerá escrito VENDAS, mas sim 0, que é o valor da constante lógica.
 
Topo