#ifndef _activity_h #define _activity_h class Activity { private: String *code; //codice dell'attivita' didattica ie: [Ana1, Ana2, ...etc] String *tipo; //tipo di attivita' [corso, stage, tesi] int crediti; //valore crediti String *settore; //settore scientifico disciplinare ie: [MAT05, MAT02, INFO1, ...etc] int anno; //minimo anno di corso dal quale l'attivita' e' attiva List *lista_prop; //lista codici attivita' didattiche propedeutiche char *buffer; //buffer dedicato per l'output public: //costruttori Activity(); Activity(Activity &data); Activity(String *cd, String *tp, int crdt, String *s, int a, List *lp); //distruttore ~Activity(); //accesso ad elementi privati String *GetCode() { return code; } String *GetTipo() { return tipo; } int GetCrediti() { return crediti; } String *GetSettore() { return settore; } int GetAnno() { return anno; } List *GetProp() { return lista_prop; } //funzioni di creazione e di output dedicate Activity *Create(char *what, int riga, char* file); char *GetChar(); //restituisce l'oggetto sotto forma di stringa //output per il test con ostream (non utilizzato nel programma) friend ostream& operator<<(ostream& co, Activity &A) { co << *(A.code); co << ", "; co << *(A.tipo); co << ", "; co << A.crediti; co << ", "; co << *(A.settore); co << ", "; co << A.anno; co << " {"; for(int i=0; i < A.lista_prop->GetLen(); i++) { co << A.lista_prop->GetData(i); if(i+1 < A.lista_prop->GetLen()) co << ", "; } co << "}"; return co; } //overload dell'operatore == friend int operator==(Activity &left, Activity &right) { if(*(left.code)==*(right.code)) return 1; //nn m interessa se l'anno è diverso return 0; } }; #endif