Funcția - o zonă cu numele de cod care poate fi apelat din alte părți ale programului. Funcțiile sunt, de asemenea, de multe ori numite subrutine. În orice program în C ++ trebuie să fie de cel puțin o funcție - numită principală. În toate programele exemplul dat mai devreme, a fost singura funcție în program. De acolo începe programul, dar în aplicații lumea reală pe lângă ea sunt alte funcții care sunt numite de principal și unul de altul.
functionName tip_rezultata (lista)
Prima linie este numită funcția de antet. Descrie:
- Tipul Rezultatul - tipul de date din valoarea returnată de o funcție de rezultatul muncii lor. În C ++, spre deosebire de unele limbi, nu există nici un concept de procedură - rutine nu se returnează valori. Prin urmare, în cazul în care funcția nu returnează o valoare, ca urmare a tipului indicat nule.
- Numele - numele funcției, și anume, orice identificator valid în C ++. Numele este apoi folosit pentru a invoca funcția.
După antetul funcției acolade trebuie să funcționeze corp - o secvență de instrucțiuni care sunt executate atunci când un apel de funcție.
Dacă funcția are un tip de întoarcere, alta decât nul, va trebui să se întoarcă orice valoare. Acest lucru se face prin utilizarea unei expresii declarație de întoarcere;. Această afirmație se termină imediat funcția și returnează valoarea specificată.
Dacă funcția nu returnează o valoare, are loc după Deconectarea ultima declarație în organism, iar declarația de returnare este opțională. În cazul în care se utilizează, valoarea returnată după ce nu este specificat, și anume, ea este înregistrată ca o întoarcere;
Organismul nu poate funcționa definiții conțin alte funcții, și anume, funcții în C ++ nu pot fi imbricate.
Exemple determină funcții:
// defini o valoare maximă a două numere
int max (int a, int b)
întoarce (a> b). a. b;
// definirea din media aritmetică a celor trei numere
float avg (int num1, int num2, int num3)
return (num1 + num2 + num3) / 3,0;
// afișează o matrice dinamică bidimensională
void imprimare (dublu ** arr, rânduri int cols)