Object oriented programming 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/


To enable students to design solutions to computational problems in an object-oriented manner. Students will:
- learn the concepts of class, object, inheritance, and polymorphism;
- build complex data structures;
- be introduced to the development in UNIX environment.


* Introduction
- UNIX programming tools
- Basic C++ concepts: variable declarations, expressions, functions, arrays, and pointers
- Dynamic memory allocation, non-OO syntax
- Introduction to object oriented programming

* Classes in C++
- Stream I/O in C++
- Classes and encapsulation
- Member functions, constructors, destructors
- Copy constructor, operator=
- Friendship

* Storage Management
- Memory allocation
- Dynamic allocation: new and delete

* Inheritance
- Overview of inheritance
- Defining base and derived classes
- Constructor and destructor calls

* Polymorphism
- Function overloading
- Operator overloading
- Virtual functions, purely virtual functions

* Exceptions
- Overview of exceptions
- Inheritance and exceptions
- Exception hierarchies

* Templates
- Template overview
- Containers and iterators
- STL containers, iterators, functors

Attività d'esercitazione

Theoretical lessons will be integrated by hands-on experiences.

Modalità d'esame

A quiz and a programming test. Occasionally, oral exams are also required.


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-Wesley

Ultimo aggiornamento: 02-08-2006

Chiudi la finestra