- Chiamate di funzione
- Passaggio di Parametri
- L'overloading di funzioni
- Operazione Overloading
- Descrizione delle Funzioni Esterne
- Esportazione di funzioni
- Funzioni di Gestione degli Eventi
Funzioni
Ogni operazione può essere divisa in sottoattività, ciascuna delle quali può essere direttamente rappresentata sotto forma di un codice, o suddivisa in piccole sotto-attività. Questo metodo è chiamato raffinamento per passi successivi. Le funzioni vengono utilizzate per scrivere il codice di sotto-compiti da risolvere. Il codice che descrive ciò che è una funzione, viene chiamato definizione di funzione:
intestazione_funzione
|
Tutto ciò che è prima della prima parentesi graffa è l' intestazione della definizione di funzione, e ciò che è tra le parentesi graffe è il corpo della definizione della funzione. L'intestazione funzione comprende una descrizione del tipo di valore di ritorno, il nome (identificatore) e parametri formali. Il numero di parametri passati alla funzione è limitato e non può superare i 64.
La funzione può essere chiamata da altre parti del programma, tante volte quanto necessario. Infatti, il tipo di ritorno, identificatore della funzione e tipi di parametri costituiscono la funzione prototipo.
Il prototipo della funzione è la dichiarazione della funzione, ma non la sua definizione. A causa della dichiarazione esplicita del tipo di return e l' elenco dei tipi di argomento, un controllo di tipo restrittivo ed il typecasting implicito, sono possibili durante le chiamate di funzione. Molto spesso le dichiarazioni di funzione vengono utilizzate nelle classi per migliorare la leggibilità del codice.
La definizione della funzione deve corrispondere esattamente alla sua dichiarazione. Ogni funzione dichiarata deve essere definita.
Esempio:
double // tipo di valore di ritorno(_*return)
|
L'operatore return può restituire il valore di un'espressione che trova in questo operatore. Se necessario, il valore dell' espressione viene convertito nel tipo di risultato della funzione. Cosa può essere restituito: tipi semplici, strutture semplici, puntatori agli oggetti. Con l'operatore return non puoi restituire nessun array, oggetti classe, variabili di tipo struttura composta.
Una funzione non restituisce un valore dev'essere descritta come tipo void.
Esempio:
void errmesg(string s)
|
I parametri passati alla funzione possono avere valori di default, che sono definiti dalle costanti di quel tipo.
Esempio:
int unaqualchefunzione(double a,
|
Se uno dei parametri ha un valore di default, tutti i parametri successivi devono avere anche valori di default.
Esempio di dichiarazione inesatta:
int unaqualchefunzione(double a,
|
Vedi anche