Anunțurile, definiție și funcția de apel

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)

pentru (int i = 0; i pentru (int j = 0; j pentru (int i = 0; i

m [i] = new double [3];

//. umplerea matrice m

În exemplul ca o funcție a funcției max parametri indică provocarea med. În acest caz, programul va duce la primul maxim, după care cauzează avg, folosind o valoare de-al treilea argument, care returnează max.

Dacă funcția nu are argumente ca print_time, atunci când aceasta se numește specifica paranteze goale.

Exemple de prototipuri pentru funcțiile descrise aici:

// cea mai mare parte a prototipului este identică cu definiția de la poziția

int max (int a, int b);

// numele parametrilor pot fi omise

float avg (int, int);

// Puteți specifica alte nume - dar de ce confunda situația?

void print (double ** matrice, int n, int m);

antete standard (iostream, math.h, string.h, stdio.h, etc.) conțin exact prototipuri funcționale. Punerea lor în aplicare conținute în bibliotecile de sistem, care sunt prevăzute cu mediul de dezvoltare.

articole similare