User Tools

Site Tools


appunti3s:enumeration

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

appunti3s:enumeration [2020/06/08 22:19] (current)
Line 1: Line 1:
 +=====Enumerazione (enumeration)=====
 +
 +Le enumerazioni sono tipi di dato definiti dall'utente, che si definisce con le parentesi graffe, come una classe, che ha un nome maiuscolo, come una classe...
 +
 +Come dice la parola, le enumerazioni sono utili quando si vuole rappresentare degli oggetti a cui si vuole attribuire in un certo ordine di grandezza.
 +Le enumerazioni sono quindi costanti numeriche intere che costituiscono un nuovo tipo di dato (diverso da //int//). int è più ampio e contiene le enumerazioni...
 +
 +====Definizione====
 +
 +Nel seguente esempio viene definita una enumerazione chiama Mese, per rappresentare dodici nuove costanti che rappresentano i mesi dell'anno come se fossero 12 numeri ordinati tra loro per grandezza.
 +Si deve specificare il valore del primo numero, solo se è diverso da zero. Gli altri numeri si incrementano automaticamente.
 +<code>
 +enum Mese {
 +     gen=1,feb,mar,apr,mag,giu,lug,ago,set,ott,nov,dic
 + }; // Mese diventa un nuovo tipo di dato.
 +</code>
 +<code>
 +enum Colore {
 +     nero=1,bianco,rosso,blu,rosa,verde,indaco,giallo,viola
 + };
 +</code>
 +====Utilizzo ====
 +<code>
 +Mese nuovoMese=apr; // corretto
 +</code>
 +<code> 
 +Mese nuovoMese=4;       // errore  di tipo
 +         // una variabile tipo Mese può valere solo uno degli elementi definiti in Mese
 +</code>
 +<code>  
 +nuovoMese=Mese(4);      // per trasformare un int in una enumerazione è necessario fare un casting esplicito
 + </code>
 +<code> 
 +int numero=nuovoMese;    // qui non è necessario il casting perché int 
 +</code>
 +<code>  
 + Colore nuovoColore;
 +nuovoColore=apr;    //errore di tipo (come sopra)
 +nuovoColore=rosso;
 +</code>
  
appunti3s/enumeration.txt · Last modified: 2020/06/08 22:19 (external edit)