[T1] M. Cadoli, M. Lenzerini, P. Naggar, A. Schaerf, Fondamenti della progettazione dei programmi: principi, tecniche e loro applicazione in C++, CittáStudiEdizioni, UTET Libreria, 1997.
Materiale didattico: testi consigliati
[T2] Capper, Introduzione al C++, McGraw Hill, 1997.
[T3] C. Batini, L. Carlucci Aiello, M. Lenzerini, A. Miola, A. Marchetti Spaccamela, Fondamenti di Programmazione dei Calcolatori Elettronici, Franco Angeli, 4a edizione, 1992.
Settimana | Argomento | Lunedi (ore 10-14) | Venerdi (ore 9-12) |
1:15-19gen | Introduzione al C++ |
intro al corso ed al C++ vettori in C++ (Lez 1,2,3,4) |
funzioni in C++ ricorsione (Lez 5,6,7) |
2:22-26gen | Introduzione al C++ |
Record e puntatori in C++ Laboratorio su introduzione al C++ (Lez 8,9,10,11) |
Array dinamici Esercizi su liste ed array dinamici (Lez 12,13,14) |
3:29gen-2feb | Classi in C++ |
Introduzione alle classi C++ construttori e distruttori (Lez 15,16,17,18) |
Overloading di operatori funzioni friend (Lez 19,20,21) |
4:5-9feb | Classi in C++ |
|
Il problema dell'interferenza Ridefinizione del costruttore di copia, distruttore e assegnazione |
5:12-16feb | Principi di progettazione Concettualizzazione |
Ciclo di vita e qualita' del software Laboratorio su classi in C++ (Lez 25,26,27,28) |
Modularizzazione (Lez 29,30,31) |
6:19-23feb | Realizzazione |
Specifica di tipi astratti Metodologia realizz. classi C++ Template C++ (Lez 32,33,34,35) |
Schemi realizzativi con funzionali e con side-effect (Lez 36,37,38) |
7: 26feb-2mar | Realizzazione |
|
Astrazione per valore e per entita' Realizzazione di classi astrazione per valore e per entita' (Lez 39,40,41) |
8:5-9mar | Realizzazione |
Realizzazione di relazioni has-a ed has-many Laboratorio su specifica di tipi astratti (Lez 42,43,44,45) |
Realizzazione di classi C++ Esercizio d'esame (Lez 46,47,48) |
9:12-16mar | Esercizi d'esame |
|
Realizzazione di classi C++ Esercizio d'esame (Lez 49,50,51) |
10:19-23mar | Esercizi d'esame |
Realizzazione di classi C++ Esercizio d'esame (Lez 52,53,54,55) |
|
telefonata.h
(si veda [T1, 4.12]) scrivere il telefonata.cpp
. Inoltre analizzare in dettaglio quali costruttori di tempo e di telefonata sono invocati dall'istruzione: telefonata t1=telefonata(tempo(15,0),tempo(15,5),555555);
Pila
utilizzando un array dinamico per la rappresentazione dei valori