Salve a tutti,
ho un bel dubbio di implementazione (più che altro sintattico perchè non sono molto pratico con il sovraccarico di operatori).
Se ho l1 che è una lista e voglio confrontare un elemento in una specifica posizione con un'altra posizione, del tipo voglio vedere che:
l1.leggilista(3) <= l1.finelista()
Ovvero ho un elemento della lista e voglio controllare che si trovi prima di una determinata posizione, nell'esempio prima della fine della lista.
Come posso sovraccaricare l'operatore? ovvero, come parametro gli passo una posizione, ovvero l1.finelista, ma poi all'interno dell'operatore (che definirò dentro l'oggetto lista) come posso riferirmi sia all'intero oggetto l1 (quindi che ne so alla testa della lista) che alla posizione 3?
Cioè ho un sovraccarico dell'operatore <= di questo genere:
Supponiamo che nel main richiamo l'espressione l1.leggilista(3) <= 3, dove leggilista(3) è un elemento, c'è modo di referenziarsi sia a questa posizione 3 che all'oggetto lista l1? Come si può tradurre sintatticamente?codice:bool operator<=(posizione b) { [..] }
O se sto facendo un errore di logica, come si potrebbe sviluppare assieme? Se l1.leggilista(3) fosse una posizione della lista l1, posso referenziarmi comuqnue alla lista l1 tipo con un this-> all'interno dell'operatore sovraccaricato?
Ok ammetto di essere un pò a digiuno, sto scartabellando un pò sul manuale, qualsiasi esempio pratico/teorico è il benvenuto.
Vi ringrazio in anticipo,
Neptune.