Per essere più chiari, se volessi trasformare questo metodo in sovraccarico dell'operatore <= ?
Da notare che sostanzialmente mi serve potermi ricavare la testa della lista mediante il metodo primoLista() e poter controllare che la lista non sia finita mediante il metodo finelista(posizione) che mi restituisce un booleano.
Se io creo una un sovraccarico di operatore dentro liste_collegate poi si aspetterà che un operatore sia proprio un oggetto di tipo liste_collegate e l'altro a mio piacere quindi di tipo posizione. Ma come faccio a passargli la seconda posizione?
Se invece la dichiaro come funzione sciolta posso passargli due posizioni, ma come gli passo la lista su cui operare?
codice:template< class T, class P > bool liste_collegate<T,P>::controllo_posizione(posizione p1, posizione p2) const { posizione testa; bool val_return = false; testa = primoLista(); //scandisce finchè non arrivo a p2 o comunque non arrivo a finelista //supponiamo però che almeno p2 è una posizione valida while( (testa != p2) && !finelista(testa) && (val_return == false) ) { if(testa == p1) val_return=true; testa=succlista(testa); } //caso in cui la posizione p1 è proprio il finelista e/o è proprio p2 if(testa == p1) val_return=true; return val_return; }