C++ Funcții cu exemple de programe
În ce este o funcție C++?
A funcţie in C++ se referă la un grup de instrucțiuni care preia intrare, o procesează și returnează o ieșire. Ideea din spatele unei funcții este de a combina sarcini comune care sunt efectuate în mod repetat. Dacă aveți intrări diferite, nu veți mai scrie același cod. Pur și simplu veți apela funcția cu un set diferit de date numit parametri.
Fiecare C++ programul are cel puțin o funcție, funcția main(). Puteți împărți codul în diferite funcții. Această împărțire ar trebui să fie astfel încât fiecare funcție să îndeplinească o sarcină specifică.
Există multe funcții încorporate în C++ bibliotecă standard. Puteți apela aceste funcții în cadrul programului dvs.
De ce să folosiți funcții?
Există numeroase beneficii asociate cu utilizarea funcțiilor. Acestea includ:
- Fiecare funcție reunește codul asociat. Acest lucru face ca programatorii să înțeleagă mai ușor codul.
- Funcțiile facilitează programarea eliminând repetarea codului.
- Funcțiile facilitează reutilizarea codului. Puteți apela aceeași funcție pentru a efectua o sarcină în diferite secțiuni ale programului sau chiar în afara programului.
Funcții încorporate
In C++ funcțiile bibliotecii sunt încorporate C++ funcții. Pentru a utiliza aceste funcții, pur și simplu le invocați/apelați direct. Nu trebuie să scrieți singur funcțiile.
Exemplu 1:
#include <iostream> #include <cmath> using namespace std; int main() { double num, squareRoot; cout << "Enter number: "; cin >> num; squareRoot = sqrt(num); cout << "The square root of " << num << " is: " << squareRoot; return 0; }
ieșire:
Iată o captură de ecran a codului:
Explicația codului:
- Includeți fișierul antet iostream în programul nostru pentru a utiliza funcțiile acestuia.
- Includeți biblioteca cmath pentru a-i folosi funcțiile. Vrem să folosim funcția sqrt() definită în ea.
- Includeți spațiul de nume std în codul nostru pentru a-i folosi clasele fără a-l apela.
- Apelați funcția main(). Logica programului ar trebui adăugată în corpul acestei funcții.
- Declarați două variabile duble, num și squareRoot.
- Imprimați ceva text pe consolă. Textul cere utilizatorului să introducă un număr.
- Citiți intrarea utilizatorului de la tastatură. Intrarea va deveni valoarea variabilei num.
- Apelați funcția de bibliotecă sqrt(), care calculează rădăcina pătrată a unui număr. Am transmis parametrul num funcției, adică va calcula rădăcina pătrată a lui num. Această funcție este definită în biblioteca cmath.
- Tipăriți numărul introdus de utilizator, rădăcina pătrată a acestuia și un alt text pe consolă.
- Programul trebuie să returneze valoare după finalizarea cu succes.
- Sfârșitul corpului funcției main().
Funcții definite de utilizator
C++ permite programatorilor să-și definească propriile funcții. Scopul funcției este de a grupa codul asociat. Codul primește apoi un identificator unic, numele funcției.
Funcția poate fi apelată/invocată din orice altă parte a programului. Apoi va executa codul definit în corpul său.
Exemplu 2:
#include <iostream> using namespace std; void sayHello() { cout << "Hello!"; } int main() { sayHello(); return 0; }
ieșire:
Iată o captură de ecran a codului:
Explicația codului:
- Includeți fișierul antet iostream în programul nostru pentru a utiliza funcțiile acestuia.
- Includeți spațiul de nume std în codul nostru pentru a-i folosi clasele fără a-l apela.
- Creați o funcție definită de utilizator numită sayHello().
- Tipăriți ceva text pe consolă când este apelată funcția sayHello().
- Sfârșitul corpului funcției sayHello().
- Apelați funcția main(). Logica programului ar trebui adăugată în corpul acestei funcții.
- Apelați/invocați funcția numită sayHello().
- Programul trebuie să returneze valoare după finalizarea cu succes.
- Sfârșitul corpului funcției main().
Declarație de funcție/Prototip
Dacă definiți o funcție definită de utilizator după funcția main(), C++ compilator va returna o eroare. Motivul este că compilatorul nu cunoaște detaliile funcției definite de utilizator. Detaliile includ numele acestuia, tipurile de argumente și tipurile de returnare ale acestora.
In C++, declarația funcției/prototipul declară o funcție fără corp. Aceasta oferă compilatorului detalii despre funcția definită de utilizator.
În declarație/prototip, includem tipul returnat, numele funcției și tipurile de argumente. Numele argumentelor nu sunt adăugate. Cu toate acestea, adăugarea numelor de argument nu generează nicio eroare.
Definiția funcției
Scopul declarației funcției este de a spune C++ compilator despre numele funcției, tipul returnat și parametri. O definiție a funcției spune C++ compilator despre corpul funcției.
Sintaxă
return_datatype function_name( parameters) { function body }
Din cele de mai sus, o definiție a funcției are antetul și corpul funcției. Iată o explicație a parametrilor:
- return_datatype- Unele funcții returnează valoare. Acest parametru denotă tipul de date al valorii returnate. Unele funcții nu returnează valoare. În acest caz, valoarea acestui parametru devine nulă.
- function_name- Acesta este numele functiei. Numele și parametrii funcției formează semnătura funcției.
- Parametri - Acesta este tipul, ordinea și numărul de parametri ai funcției. Unele funcții nu au parametri.
- Corpul funcției - acestea sunt declarații care definesc ce va face funcția.
Apel de funcție
Pentru ca o funcție să realizeze sarcina specificată și să returneze rezultatul, aceasta trebuie apelată. Când apelați o funcție, aceasta execută instrucțiunile adăugate în corpul acesteia.
Un program este numit după numele său. Dacă funcția preia parametri, valorile acestora ar trebui să fie transmise în timpul apelului. Dacă serviciul nu acceptă parametri, nu transmiteți nicio valoare în timpul apelului.
Argumente de trecere
In C++, un argument/parametru sunt datele transmise unei funcții în timpul apelului acesteia. Valorile trebuie inițializate la variabilele lor respective.
La apelarea unei funcții, argumentele trebuie să se potrivească ca număr. Înseamnă că valorile pe care le transmiteți trebuie să fie egale cu numărul de parametri. Din nou, valorile trebuie să se potrivească și cu parametrii în ceea ce privește tipul. Dacă primul parametru este un număr întreg, valoarea transmisă acestuia trebuie să fie un număr întreg.
Se pot atribui valori implicite parametrilor funcției. Dacă nu transmiteți o valoare pentru parametru în timpul apelului de funcție, se va folosi valoarea implicită.
Exemplul 3: Cum să scrieți și să apelați o funcție
#include <iostream> using namespace std; int addFunc(int, int); int main() { int x, y, sum; cout << "Enter two numbers: "; cin >> x >> y; sum = addFunc(x, y); cout <<"The sum of "<<x<< " and " <<y<<" is: "<<sum; return 0; } int addFunc(int num1, int num2) { int addFunc; addFunc = num1 + num2; return addFunc; }
ieșire:
Iată o captură de ecran a codului:
Explicația codului:
- Includeți fișierul antet iostream în programul nostru pentru a utiliza funcțiile acestuia.
- Includeți spațiul de nume std în codul nostru pentru a-i folosi clasele fără a-l apela.
- Declarați o funcție numită addFunc() care ia doi parametri întregi. Aceasta creează prototipul funcției.
- Apelați funcția main(). Logica programului ar trebui adăugată în corpul acestei funcții.
- Declarați trei variabile întregi, x, y și sumă.
- Tipăriți ceva text pe consolă. Textul cere utilizatorului să introducă două numere.
- Citiți intrarea utilizatorului de la tastatură. Utilizatorul trebuie să introducă două numere pentru variabilele x și y, separate prin spațiu.
- Apelați funcția addFunc() și transmiteți-i parametrii x și y. Funcția va funcționa pe acești parametri și va atribui rezultatul sumei variabile.
- Tipăriți valorile variabilelor x, y și suma pe consolă alături de alt text.
- Funcția trebuie să returneze valoarea după finalizarea cu succes.
- Sfârșitul corpului funcției main().
- Definirea functiei. Definim funcția addFunc(). Vom preciza ce va face funcția în corpul său, { }.
- Declararea unei variabile întregi numită addFunc.
- Adăugarea valorilor parametrilor num1 și num2 și atribuirea rezultatului variabilei addFunc.
- Funcția addFunc() ar trebui să returneze valoarea variabilei addFunc.
- Sfârșitul corpului funcției, adică definiția funcției.
Rezumat
- O funcție în C++ vă ajută să grupați codul asociat într-unul singur.
- Funcțiile facilitează reutilizarea codului.
- În loc să scrieți cod similar, din nou și din nou, pur și simplu îl grupați într-o funcție. Apoi puteți apela funcția de oriunde în cod.
- Funcțiile pot fi de bibliotecă sau definite de utilizator.
- Funcțiile bibliotecii sunt funcțiile încorporate diferite C++ funcții.
- Pentru a utiliza funcțiile bibliotecii, pur și simplu includeți biblioteca sa de definiții și apelați funcția. Nu definiți funcția.
- Funcțiile definite de utilizator sunt funcțiile pe care le definiți ca a C++ programator.
- O declarație de funcție îi spune compilatorului despre numele funcției, tipul returnat și tipurile de parametri.
- O definiție de funcție adaugă corpul funcției.
- Dacă o funcție preia parametri, valorile acestora ar trebui să fie transmise în timpul apelului funcției.