- Home
- Didattica
- I corsi di studio
- Corsi di laurea
PROGRAMMAZIONE III
Obiettivi formativi
La programmazione orientata agli oggetti si fonda su alcuni principi (incapsulamento, ereditarietà, polimorfismo, ecc.) che l'esperienza ha mostrato essere fondamentali per lo sviluppo di software chiaro, conciso, riutilizzabile e di facile manutenzione. I linguaggi di programmazione più diffusi rendono disponibili alcuni strumenti e tecniche che portano allo sviluppo di codice aderente ai principi suddetti. Il corso si propone di presentare le caratteristiche avanzate del linguaggio di programmazione C++, mostrando come un loro utilizzo corretto e consapevole porti al raggiungimento degli obiettivi preposti.
Prerequisiti
Si assume la conoscenza del frammento imperativo del linguaggio C++.
Contenuti dell'insegnamento
Richiami sul linguaggio C++: tipi di dato; espressioni; istruzioni; funzioni; campo d'azione e ciclo di vita; funzioni sovraccaricate; classi.
Cenni sulla programmazione per contratto: pre-condizioni, post-condizioni ed invarianti di classe.
Inizializzazione, assegnamento e distruzione.
Eccezioni e gestione delle risorse; tecniche per la gestione dinamica della memoria.
Ereditarietà semplice: differenze tra contenimento, ereditarietà privata ed ereditarietà pubblica.
Polimorfismo dinamico: funzioni virtuali; il principio di sostituzione di Liskov.
Progetto di interfacce software: tipi concreti, tipi astratti, classi di interfaccia e classi implementative; ereditarietà multipla e virtuale.
Polimorfismo statico: template di funzione e template di classe.
La libreria standard STL: contenitori, iteratori ed algoritmi generici; oggetti funzione.
Ambiente di sviluppo: il compilatore g++; il debugger gdb; automazione del processo di compilazione: make; controllo delle versioni: cvs.
Documentazione di interfacce software: doxygen.
Bibliografia
B. Stroustrup. C++: Linguaggio, libreria standard, principi di programmazione, terza edizione, Addison-Wesley, 2000.
S. Lippman, J. Lajoie. C++: Corso di programmazione,
terza edizione, Addison-Wesley, 2000.
Metodi didattici
Attività Mutua
Altri insegnamenti
ANNO DI CORSO: 1
ANNO DI CORSO: 2
ANNO DI CORSO: 3

