#include "Biblioteca.h" #include "Libro.h" #include "Rivista.h" #include "Volume.h" #include Biblioteca::Biblioteca() { char c, bn; do { cout << "1) Libro" << endl << "2) Rivista" << endl << "3) Volume" << endl << "0) Esci" << endl; cin >> c; cin.ignore(256,'\n'); Testo * t = 0; switch( c ) { case '1': { char autore[100], titolo[100]; cout << " Autore? " ; cin.getline(autore, 100, '\n'); cout << " Titolo? " ; cin.getline(titolo, 100, '\n'); t = 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 = 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 = new Volume( autore, titolo, n ); } break; }; if ( t != 0 ) t_.push_back( t ); } while( c != '0' ); } Biblioteca::~Biblioteca() { vector::iterator i; for( i = t_.begin(); i != t_.end(); i++ ) { delete *i; } } int Biblioteca::numeroTesti() const { return t_.size(); } Testo * Biblioteca::preleva( int i ) const { return t_[ i ]; }