Object oriented programming in C++ - (5 cfu)

Prof. Monica Reggiani -


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

There will be several homework assignments and projects and a final oral exam.


Fondamenti di Informatica A + Laboratorio di Programmazione.

Testi consigliati

H. Deitel, P. Deitel, C++ How to Program, Fourth Edition, Prentice Hall

A. Koenig, B. E. Moo, Accelerated C++: Practical Programming by Example (C++ in Depth S.), Addison Wesley

Testi d'approfondimento

Bruce Eckel, Thinking in C++, Volume 1: Introduction to Standard C++ (2nd Edition) Prentice Hall

Scott Meyers, Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition) Addison-Wesley

Scott Meyers, More Effective C++: 35 New Ways to Improve Your Programs and Designs Addison-Wesley

M. Fowler and K. Scott, UML Distilled (2nd edition), Addison-Wesley

Ultimo aggiornamento: 07-05-2004

Chiudi la finestra