#include "Biblioteca.h" #include "Libro.h" #include "Rivista.h" #include "Volume.h" #include Biblioteca::Biblioteca() : n_( 0 ) { char c, bn; do { cout << "1) Libro" << endl << "2) Rivista" << endl << "3) Volume" << endl << "0) Esci" << endl; cin >> c; cin.ignore(256,'\n'); switch( c ) { case '1': { char autore[100], titolo[100]; cout << " Autore? " ; cin.getline(autore, 100, '\n'); cout << " Titolo? " ; cin.getline(titolo, 100, '\n'); t_[ n_++ ] = new Libro( autore, titolo ); } break; case '2': { char data[100], titolo[100]; cout << " Data? " ; cin.getline(data, 100, '\n'); cout << " Titolo? " ; cin.getline(titolo, 100, '\n'); t_[ n_++ ] = new Rivista( data, titolo ); } break; case '3': { char autore[100], titolo[100]; int n; cout << " Autore? " ; cin.getline(autore, 100, '\n'); cout << " Titolo? " ; cin.getline(titolo, 100, '\n'); cout << " Numero volume? "; cin >> n; t_[ n_++ ] = new Volume( autore, titolo, n ); } break; }; } while( c != '0' ); } Biblioteca::~Biblioteca() { for( int i = 0; i < numeroTesti(); i++ ) { Testo * t = preleva( i ); delete t; } } int Biblioteca::numeroTesti() const { return n_; } Testo * Biblioteca::preleva( int i ) const { return t_[ i ]; }