Chiamata funzione di oggetto C ++ Sintassi

February 16

In C ++, un oggetto funzione è un oggetto di classe che si può usare come una funzione. Funziona in modo simile ad altre funzioni, tranne che si utilizza l'operatore funzione di chiamata a passare i valori alla classe di oggetti. Ad esempio, un oggetto funzione può prendere una serie di numeri, anche se non si sa quanti l'utente fornirà quando si scrive il codice, e aggiungerli insieme per salvare il risultato in oggetto di classe.

Uso

Per utilizzare un oggetto funzione, per prima cosa definire e creare una classe di oggetti, quindi creare una funzione chiamata "operatore", come uno dei membri funzione pubblica. Se si creano variabili membro private, è possibile impostare il loro valore nel costruttore della classe, poi modificarli con altri valori passati attraverso la funzione dell'operatore. C ++ ha un vantaggio rispetto simile linguaggio di programmazione come Java, perché queste altre lingue non consentono all'operatore sovraccarico.

Sintassi

È possibile creare oggetti funzione in modo simile a qualsiasi altro oggetto in un programma C ++. Si definisce una nuova classe, quindi creare variabili membro e funzioni pubbliche e private, se necessario. Tuttavia, una delle funzioni pubbliche è necessario implementare è l'operatore chiamata di funzione, che consente di utilizzare l'oggetto di classe in un programma come funzione. Nel corpo del programma, si crea la funzione oggetti allo stesso modo di qualsiasi altro oggetto, digitando il nome della classe, quindi il nome dell'oggetto.

chiamata operatore

La funzione di operatore di call è ciò che rende un oggetto funzione diversa da altri oggetti di classe. Sintatticamente, è necessario utilizzare due set di staffe per creare una funzione di operatore. Ad esempio, digitando "operatore void () (int val1) {totale + = val1;};" consente di utilizzare l'oggetto come una funzione per aggiungere i valori per un totale parziale in una variabile membro della classe. È quindi possibile utilizzare questo totale variabile in altre funzioni di classe.

Sovraccarico

Il sovraccarico l'operatore funzione non modifica come si chiama la funzione, si modifica come si passa valori all'oggetto. Esso consente di passare un numero arbitrario di argomenti, che aiuta se non si sa quanti è necessario passare in fase di esecuzione. Ad esempio, se si dispone di un costruttore di classe che richiede solo due parametri ed hanno un operatore di chiamata di funzione che prende tre, è possibile utilizzare un oggetto funzione esistente per inizializzare una nuova, ma passare tre parametri ad esso invece di due. Questo sovraccarica il costruttore e costringe la funzione dell'operatore per inizializzare i valori.