mercoledì 12 gennaio 2011

Possibili soluzioni esercitazione 7

Disponibile una possibile soluzione dell'esercitazione 7. Confrontatela con la vostra e postate eventuali differenze o richieste di chiarimenti.

2 commenti:

  1. Svolgendo il primo esercizio ho operato alcune scelte differenti dalle sue:

    http://nopaste.info/a0b2415f51.html

    Innanzitutto uso una funzione che riceve una stringa come argomento e che la ritorna invertita.
    Successivamente sovrascrivo la stringa iniziale con quella ottenuta dalla funzione.

    Volevo chiederle come potevo implementare la funzione in modo che ritornasse void e ricevesse sempre una string.

    P.S.
    Le segnalo che nella soluzione da lei presentata scrive il prototipo di una funzione che non implementa nè usa.

    RispondiElimina
  2. Lo scopo dell'esercizio era semplicemente quello di mostrare come con oggetti string, oltre che operare comodamente con l'oggetto intero, si può lavorare anche lavorare a livello di singolo elemento (come con le stringhe C) quindi non era importante se l'inversione si faceva in una funzione esterna o nel main stesso.
    Approfitto però delle osservazioni di Gabriele per evidenziare che un oggetto string viene trattato come un tipo primitivo pertanto normalmente viene passato a una funzione per valore ma può anche essere passato per riferimento. Nel caso della domanda di Gabriele basta definire la funzione come void inverti(string& a) e modificare il return a; in return;.
    Nella mia soluzione è rimasto erroneamente il prototipo della funzione che faceva l'inversione di stringhe C e che ho dimenticato di cancellare fra un copia&incolla e l'altro...

    RispondiElimina