Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [C++] Puntatori a Funzione

    Ciao, qualcuno può spiegarmi meglio i puntatori a funzione?

    Purtroppo sul libro che sto leggendo non sono riuscito a capire bene come si usano e la loro utilizà...


    Ciao

  2. #2
    Questa è la dichiarazione del puntatore a funzione.

    codice:
    tipo (*ptr)(parametri funzione);
    Questa è come chiami la funzione (per esempio dal main):

    codice:
    (*ptr)(parametri funzione);
    Per assegnarla fai:

    codice:
    ptr=nome_funzione;
    Per eseguirla fai:

    codice:
    (*ptr)(parametri);
    Tutto qui, come se fosse una normale funzione.

    L'ultilità è per esempio quando una funzione deve essere chiamata da eventi esterni, esempio la selezione di un menù.

    In questo caso per esempio fai un vettore di puntatori a funzione.


    Ciao.

  3. #3
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    In un menù stampi le opzioni col numero associato, poi con il numero digitato dall'utente richiami nell'array di punatori a funzione la funzione corrispondente.
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  4. #4
    nel caso una funzione mi restitusica un return del tipo:

    return * oppure return & come si gestisce questa cosa, quale è la variabile che mi dovra contenere questi dati per forza un PUNTATORE giusto?

    Grazie

  5. #5
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Non c'è alcuna differenza con le funzioni normali, una volta che l'hai chiamata la funzione ritorna normalmente.
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  6. #6
    Ultimissa domanda

    Time &Time::setTime( int h, int m, int s )
    {
    setHour( h );
    setMinute( m );
    setSecond( s );
    return *this;
    }

    Questa funzione con il & davanri che cosa significa?
    Inoltre il *this a che serve di preciso e su quale variabiel va messa ES:

    quale variabile = funzione;


    Grazie Mille

  7. #7
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    La & dopo il tipo ritornato dalla funzione significa che la funzione ritorna un'indirizzo ad un oggetto di tipo Time,
    la funzione infatti se invocata modifica i paramentri dell'oggetto Time e ritorna lo stesso.
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  8. #8
    Originariamente inviato da Xadoom
    La & dopo il tipo ritornato dalla funzione significa che la funzione ritorna un'indirizzo ad un oggetto di tipo Time
    Questo l'ho capito in pratica mi rida l'indirizzo del valore che io passo da RETURN


    Originariamente inviato da Xadoom
    la funzione infatti se invocata modifica i paramentri dell'oggetto Time e ritorna lo stesso.
    Però non ho capito questo pezzo, se io modifico l'oggetto time che cosa succede dopo? cioè quando faccio il return?

  9. #9
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    In questo caso viene ritornato l'oggetto modificato, ma mi pare una cosa in eccesso in quanto comunque l'oggetto è stato modificato!! Cioè fa una cosa del genere:
    codice:
     
    Time t;
    
    t = t.setTime(...)
    
    //ciò ha lo stesso effetto di 
    
    t.setTime(...)
    Per questo non capisco l'utilità di far ritornare al metodo l'oggetto stesso che comunque è modificato!
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  10. #10
    Grazie adesso o capito, questo ero soklo un esempio che mi dava il libro per farmi vedere come si può utilizzare il puntatore THIS

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.