Docente: Ciocca Gianluigi
Crediti: 4 CFU
Conoscenze e abilità: Lo studente apprenderà le basi di programmazione C++ con particolare attenzione ai costrutti avanzati di programmazione generica e allo sviluppo di software ad elevata efficienza. Sarà in grado di progettare e sviluppare programmi complessi, modulari e manutenibili.
Programma:
- Introduzione al C++. Dal C al C++. Differenze rispetto a Java.
- Struttura di un programma C++. Compilatore e Preprocessore.
- Concetti base di programmazione C++: tipi di dati, puntatori, reference, scoping, casting.
- C++ come linguaggio ad oggetti: classi, costruttori e distruttori, overloading, metodi friend, inline, constness.
- Concetti avanzati di programmazione C++: overloading degli operatori, metodi virtual, abstract, polimorfismo, ereditarietà.
- Programmazione generica. Introduzione ai template.
- Gestione degli errori ed eccezioni.
- Cenni alla libreria Standard (STL).
Testo di riferimento:
The C++ Programming Language - Special Edition, Bjarne Stroustrup,
Addison Wensley. La "Special Edition" è la versione riveduta e corretta della "Third Edition".