( english version )
Object oriented programming in C++ ( 5 CFU )
Prof. Marco Mari
     Tel. 0521 905712 - Fax. 0521 905723           E-mail. mari@ce.unipr.it           Home page. http://www.ce.unipr.it/people/mmari/

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

stampa il programma ~ torna indietro