allora
posto l'header file di una classe
codice:
struct Studente{
string nome;
string cognome;
string matricola;
};
typedef Studente * Sp;
class ElencoPrenotati{
private:
Sp elenco;
int N;
int cont;
public:
ElencoPrenotati (int N) {elenco= new Studente [N]; cont=0;};
~ElencoPrenotati(){delete [] elenco;}
bool insert (Studente e);
void ordina();
void stampa();
};
con l'implementazione di ordina di questo tipo
codice:
void ElencoPrenotati::ordina(){
string temp;
for (int i=0;i<cont;i++){
for(int j=i; j<cont;j++)
if (elenco[j]->cognome>elenco[j+1]->cognome){
temp=elenco[j]->cognome;
elenco[j]->cognome=elenco[j+1]->cognome;
elenco[j+1]->cognome=temp;
}
}
}
perchè se utilizzo l'operatore -> ho errore ma se uso il . il programma compila e esegue correttamente???