Diploma Universitario di Ingegneria Informatica
Esame di Fondamenti di Informatica II - primo modulo
A.A. 1999/2000 - Appello del 12 aprile 2000

Problema 1   Si consideri un guardaroba di un teatro, quando uno spettatore deposita un oggetto (ad esempio un cappotto, una borsa) all'oggetto viene associato un token identificativo (un intero maggiore di 0 che identifica all'interno del deposito l'oggetto in modo univoco). La specifica del tipo astratto è la seguente Guardaroba:

TipoAstratto Guardaroba
Sorte GR (sorta per il dominio di interesse)
Funzioni
FineTipoAstratto
 
Si vuole progettare una classe C++ Guardaroba che realizzi il tipo astratto Guardaroba. Si assuma che siano state definita una classe Oggetto che realizza il tipo astratto Oggetto della quale non sono note le funzioni pubbliche e private. Inoltre si rappresenti il tipo astratto Token come un intero non negativo.

Domanda 1   Si illustrino le scelte di progetto relative alla realizzazione del tipo astratto Guardaroba mediante la classe C++ Guardaroba.

Domanda 2  Si scriva la classe Guardaroba (file .h e file .cpp) secondo le scelte di progetto illustrate per la Domanda 1. Scrivere il codice di tutte le funzioni pubbliche e private della classe.

Problema 2 Realizzare una funzione esterna (non friend) della classe Guardaroba che dato un guardaroba restituisca il numero di oggetti in esso presenti.

Problema 3 Spiegare le caratteristiche principali delle classi C++ che realizzano tipi astratti astrazione d'entità, e illustrare come si rappresenta la relazione HAS-MANY.