Una funzione nelle lingue + C /C + + è un processo per raggiungere un certo obiettivo . La sintassi di base e il meccanismo di un programma C + + eredita le regole di base della lingua originale C e si basa su di esso . Definire la funzione di un oggetto C + + o come una funzione globale , chiamare la funzione con valori di ogni parametro definito . Argomenti alle funzioni
definire un elenco di variabili come parametri alla funzione . Questi sono chiamati " argomenti ". Si può anche definire una funzione senza parametri a tutti :
Objecto :: FunctionF ( arg1 int, char * arg2 , doppio arg3 ) { //funzione del corpo //. risultato varia con valori di argomento }
mancante argomenti
C + + consente di chiamare una funzione senza i suoi argomenti definiti. Questo non causa un tempo di compilazione , link- time o errore di run -time . In questo caso , la funzione utilizza i valori predefiniti per gli argomenti in fase di esecuzione . Fornire valori predefiniti per gli argomenti lì e subito :
vuoto MyFunction ( doppia d_arg = 0.0) {if ( d_arg == 0.0) ... altra cosa ... }
l'overloading di funzioni
Questa è una caratteristica molto particolare di C + + . È possibile " sovraccarico " una definizione di funzione esistente con un altro. Il nome della funzione rimane la stessa, ma la lista degli argomenti è diverso . Utilizzare questa funzione per funzioni della libreria standard di sovraccarico , come pure, ma solo quando è necessario :
esempio int MyFunction ( int a); int MyFunction ( int a , double b); int MyFunction ();
Qui, la sintassi della chiamata di funzione dice al compilatore che MyFunction a salire. Se non si passa alcun argomento , il terzo viene prelevato. Se la chiamata di funzione è simile al seguente : " r_val = MyFunction ( 12 )," il compilatore usa la seconda definizione
Fornire i valori di default per gli argomenti , come indicato nella Sezione 2 , è un metodo di scelta rapida . overloading di funzioni , tuttavia , funziona solo in casi semplici
overloading Costruttori oggetto
Il vero potere di overloading di funzioni in C + + è in costruttore di sovraccarico . . Definire il costruttore di un oggetto in due o più modi . In altre parole , permettono al chiamante di creare l'oggetto in modi diversi per vari motivi - come compatibilità all'indietro , portabilità o flessibilità. Costruttore per oggetto MioOggetto è denominato " MyObject ( ) . " Per esempio :
data classe {int giorno , mese , anno ;
pubblica : data void ( char * c_date ) ; vuoto data (int mm , int gg , int aa) ; data void ( ) ;
...
}
Nella versione precedente di questo software , il " oggetto Date "è stata creata usando una stringa inserita dall'utente . Nella prossima versione , il mese, il giorno e l'anno sono state approvate separatamente per evitare il controllo del formato rigido . Alla data di pubblicazione , i programmatori non si basano su l'utente a tutti, ma andare a prendere o calcolare la data utilizzando l'orologio di sistema , nel processo di creazione dell'oggetto "Data" . Creare l'oggetto nel programma :
Metodo A : date (" 10/10/2011 " ) ; Metodo B : date ( 10 , 10 , 2011) ; Metodo C : date () ;
Se si ha familiarità con la versione precedente di questo software , e imbattete in un programma utente che chiama data senza argomenti , si può essere perplesso di come il compilatore ha permesso questo. La spiegazione è funzione di sovraccarico.