Quindi se dichiaro un operatore all'interno di una classe si intende come "sottointeso" che l'operatore a sinistra sia l'oggetto di cui l'operatore fa parte?

Quindi se dichiaro il mio <= nella classe "liste_collegate" e gli passo una posizione avrò a disposizione l'intera lista e la posizione passate.

Se invece lo faccio esterno alla classe posso decidere io i due operandi, ma nel caso gli facessi entrambi di tipo "posizione" poi non avrei modo di riferirmi in nessun modo all'oggetto lista, giusto?

Ma quindi come potrei fare a risolvere il mio problema?
Se ho due posizioni in una lista non sequenziale (metti che è una con puntatori e quindi le posizioni sono indirizzi di memoria e quindi non matematicamente confrontabili) come faccio a stabilire se l'indirizzo A è minore dell'indirizzo B, è maggiore o magari non appartiene prorpio alla lista? hai qualche consiglio a riguardo perchè a questo punto mi sono un pò perso

(Il codice su cui lavoro è sempre il solito liste_collegate come superclasse, con le tre classi che ereditano e sviluppano liste con cursore, liste con puntatore e liste con vettore, con i vari metodi leggilista, scrivilista, insinlista, primolista, finelista..)