Programmazione orientata agli oggetti in C++ - (5 cfu)

Prof. Alessandra Fascioli Tel. 0521.905711 - Fax. 0521.905723
  E-mail. fascal@ce.unipr.it
  Home page. http://www.ce.unipr.it/people/fascal/


Finalità

Lo scopo principale del corso e` di fornire agli studenti gli strumenti necessari per la progettazione e programmazione orientata agli oggetti. A partire dagli argomenti appresi nel corso introduttivo di programmazione (Fondamenti di Informatica A), gli studenti studieranno i concetti di classe, oggetto, ereditarieta` e polimorfismo, realizzeranno strutture dati complesse e verranno introdotti allo sviluppo in ambiente UNIX.

Programma

* Introduzione
- Strumenti per la programmazione in ambiente UNIX
- Concetti di base del C++: dichiarazione di variabili, espressioni, funzioni, array, puntatori
- Allocazione dinamica della memoria, sintassi non orientata agli oggetti
- Introduzione alla programmazione orientata agli oggetti

* Classi in C++
- Introduzione al C++ Stream I/O
- Classi e incapsulamento
- Funzioni Membro, Costruttori, Distruttori
- Costruttore di Copia, Operatore =
- Funzioni e classi friend

* Gestione della Memoria
- Allocazione della Memoria
- Allocazione dinamica: new e delete

* Ereditarieta`
- Concetto di ereditarieta`
- Definizione di classi base e derivate
- Chiamate a Costruttori e Distruttori

* Polimorfismo
- Overloading delle funzioni
- Overloading degli operatori
- Funzioni virtuali, funzioni puramente virtuali

* Eccezioni
- Gestione delle eccezioni
- Ereditarieta` ed eccezioni
- Gerarchie di eccezioni

* Template
- Concetto di template
- Contenitori ed Iteratori
- STL containers, iterators, functors

Attività d'esercitazione

Le lezioni teoriche saranno integrate con esercitazioni sulla risoluzione di problemi riguardanti gli argomenti trattati.

Modalità d'esame

L'esame consiste di una prova a quiz (domande a risposte chiuse), di una prova pratica (tema di programmazione da svolgere in C++) e di una
eventuale prova orale.

Propedeuticità

Fondamenti di Informatica A + Laboratorio di Programmazione.

Testi consigliati

W. Savitch, Absolute C++, 2/e, Addison-Wesley

Testi d'approfondimento

B. Stroustrup, C++ Linguaggio, Libreria Standard, Principi di programmazione, 3/e, Addison-Wesley

H. Deitel, P. Deitel, C++ How to Program, 4/e, Prentice Hall

S. B. Lippman, J. Lajoie, C++ Corso di programmazione, 3/e, Addison-Wesley

B. Eckel, Thinking in C++, 2/e, Vol. 1: Introduction to Standard C++, Prentice Hall

S. Meyers, Effective C++, 3/e, Addison-Wesley

H. Sutter, A. Alexandrescu, C++ Coding Standards, Addison-Wesle


Ultimo aggiornamento: 02-08-2006


Chiudi la finestra