Ciao a tutti!
Devo sovrascrivere l'operatore di confronto < in una classe che ho scritto in modo da poter utilizzare la funzione sort della libreria standard per ordinare un vettore di oggetti della classe..
Bene, al momento non funziona..
ATask è la classe che deve sovrascrivere l'operatore.. Questa contiene un campo Job*: Job è un'altra classe che ho implementato la quale contiene un "int r " sul quale deve avvenire l'ordinamento..
ATask.h:
codice:
public:
bool operator <(const ATask& other);
AJob *job;
ATask.cpp:
codice:
bool ATask::operator <(const ATask& other){
return job->getr() < other.job->getr();
}
Job.h:
codice:
private:
int r;
public:
int getr() const;
Job.cpp:
codice:
int AJob::getr() const
{
return r;
}
nel programma principale dichiaro
codice:
std::vector<ATask*> ATasks;
in cui inserisco diversi puntatori di ATask per poi utilizzare
codice:
std::sort(ATasks.begin(), ATasks.end());
Ho letto mille guide, ma non capisco cosa c'è di sbagliato..
Grazie
Nicola