Numero esercizio |
Descrizione |
utilizzo delle classi per calcolare l'area di un rettangolo | |
utilizzo delle classi per calcolo di media, max e min dei voti | |
utilizzo delle classi per il calcolo dell'area di un quadrato | |
utilizzo delle classi per la gestione di una biblioteca |
Primo esempio di utilizzo delle classi ove definiamo le varibili private e le funzioni di calcolo che lavorano su tali valori (dopo la direttiva public). In particolare abbiamo una funzione definita già nella classe ed un'altra definita esternamente attrverso l'opportuna sintassi:
tipo_restituito nome_classe::nome_funzione
#include <iostream.h> class rettangolo
};
void rettangolo::modifica(double altezza,
double larghezza)
}
void main()
} |
||
Il programma utilizza una classe strutturata il un vettore
di double che servirà per contenere dei voti sui quali poi viene effettuata
la media, calcolato il massimo ed il minimo. Le funzioni associate alla classe
sono tutte definite esternamente utilizzando la sintassi nota de
tipo_restituito nome_classe::nome_funzione
La funzione Voti::inserisci(double v) restituisce un valore booleano (true o
false) ed inserisce i voti nel vettore finchè non c'è più
spazio.
La inizializza azzera tutti i valori contenuti nel vettore, mentre le funzioni
media, max e min calcolano la media e trivano il massimo voto inserito ed il
minimo.
#include <iostream.h> const int MAX = 100; class Voti
};
bool Voti::inserisci(double v)
}
void Voti::inizializza()
} double Voti::media()
}
double Voti::max()
}
double Voti::min()
}
void main()
} |
||
Esempio di classe con veriabili private e funzioni che lavorano su di esse dichiarate ed in parte definite nella stessa classe. Il programma prende in ingresso un valore per la diagonale di un quadrato ed un altro per il lato di un diverso quadrato; viene restituita poi l'area dei due quadrati attraverso la funzione stampa. La funzione stampa non e dichiarata nella classe perciò nella sua definizione non si può utilizzare la sintassi nota (tipo_restutuito nome_classe::nome_funzione); la funzione viene definita normalmente ma in argomento prende il puntatore alla classe (potevamo passare anche tutta la classe ma in questo modo facilitiamo il compito del compilatore che imvece di ricopiare tutta la classe lavora su un semplice puntatore)
#include <iostream.h> const double radice2 = 1.4142135624; class quadrato
};
void quadrato::impostaDiag(double x)
}
void quadrato::impostaLato(double x)
}
void stampa(quadrato*q)
}
void main ()
} |
||
Questo esercizio, realizzato da noi, utilizza le classi per la gestione di una bibblioteca. La funzione inizializza, permette di assegnare il prezzo e la posizione all'interno dello scaffale agli attributi "euro" e "scaf" della classe. La funzione "applicasconto" permette di applicare uno sconto del 20% sul prezzo per poi assegnarlo all'attributo "euro". La funzione stampa (chiarmente), visualizza a monitor l'intera bibblioteca.
#include <iostream.h> const int max = 128; class libro
} *l;
void libro::inizializza(char *nlib, double
euro, unsigned int scaf)
} void libro::stampa()
}
void libro::applicaSconto()
}
void main()
} |
||