codice:#include <iostream>#include <sstream> #include <limits> using namespace std; class Applicazione { private: long id; string nome; string descrizione; public: Applicazione(long id, string nome, string descrizione) :id(id), nome(nome), descrizione(descrizione) {} string to_string(void); }; string Applicazione::to_string(void) { ostringstream oss; oss << id << ") " << nome << endl << descrizione; return oss.str(); } class Store { private: Applicazione *app[100]; int n; public: Store():n(0) { } ~Store() { for(int i = 0; i < this->n; ++i) delete this->app[i]; } void aggiungi_applicazione(void); void stampa_applicazioni(void); }; void Store::aggiungi_applicazione(void) { long id; string nome, descrizione; cout << "Inserisci l'id dell'applicazione: "; cin >> id; cin.ignore(numeric_limits<streamsize>::max(), '\n'); cout << "Inserisci il nome dell'applicazione: "; getline(cin, nome); cout << "Inserisci una descrizione dell'applicazione:" << endl; getline(cin, descrizione); this->app[(this->n)++] = new Applicazione(id, nome, descrizione); } void Store::stampa_applicazioni(void) { for(int i = 0; i < this->n; ++i) cout << this->app[i]->to_string() << endl; } int main() { Store s; s.stampa_applicazioni(); s.aggiungi_applicazione(); s.stampa_applicazioni(); s.aggiungi_applicazione(); s.stampa_applicazioni(); return 0; }

Rispondi quotando