Selles õpetuses õpime näidete abil funktsiooni C ++ ja funktsiooni avaldisi.
Funktsioon on koodiplokk, mis täidab konkreetset ülesannet.
Oletame, et ringi loomiseks ja selle värvimiseks peame looma programmi. Selle probleemi lahendamiseks saame luua kaks funktsiooni:
- funktsioon ringi joonistamiseks
- funktsioon ringi värvimiseks
Keerulise probleemi jagamine väiksemateks tükkideks muudab meie programmi hõlpsasti mõistetavaks ja korduvkasutatavaks.
On kahte tüüpi funktsioone:
- Raamatukogu standardfunktsioonid: eelnevalt määratletud C ++ keeles
- Kasutaja määratud funktsioon: loodud kasutajate poolt
Selles õpetuses keskendume peamiselt kasutaja määratud funktsioonidele.
C ++ Kasutaja määratud funktsioon
C ++ võimaldab programmeerijal ise oma funktsiooni määratleda.
Kasutaja määratletud funktsioon rühmitab koodi konkreetse ülesande täitmiseks ja sellele koodirühmale antakse nimi (identifikaator).
Kui funktsiooni käivitatakse programmi mis tahes osast, täidab see kõik funktsiooni kehas määratletud koodid.
C ++ funktsioonideklaratsioon
Funktsiooni deklareerimise süntaks on järgmine:
returnType functionName (parameter1, parameter2,… ) ( // function body )
Siin on näide funktsiooni deklaratsioonist.
// function declaration void greet() ( cout << "Hello World"; )
Siin,
- funktsiooni nimi on
greet()
- funktsiooni tagastustüüp on
void
- tühjad sulgud tähendavad, et sellel pole parameetreid
- sees on funktsiooni keha
()
Märkus. Me õpime sellest juhendist hiljem returnType
ja parameters
hiljem.
Funktsiooni kutsumine
Eespool nimetatud programmis oleme kuulutanud funktsiooni nimega greet()
. Funktsiooni kasutamiseks greet()
peame sellele helistama.
Nii saame ülaltoodud greet()
funktsiooni kutsuda .
int main() ( // calling a function greet(); )

Näide 1: teksti kuvamine
#include using namespace std; // declaring a function void greet() ( cout << "Hello there!"; ) int main() ( // calling the function greet(); return 0; )
Väljund
Tere seal!
Funktsioonide parameetrid
Nagu eespool mainitud, saab funktsiooni deklareerida parameetritega (argumentidega). Parameeter on väärtus, mis edastatakse funktsiooni deklareerimisel.
Vaatleme näiteks järgmist funktsiooni:
void printNum(int num) ( cout << num; )
Siin on int
muutuja arv funktsiooni parameeter.
Funktsiooni kutsumisel edastame väärtuse funktsiooni parameetrile.
int main() ( int n = 7; // calling the function // n is passed to the function as argument printNum(n); return 0; )
Näide 2: funktsioon parameetritega
// program to print a text #include using namespace std; // display a number void displayNum(int n1, float n2) ( cout << "The int number is " << n1; cout << "The double number is " << n2; ) int main() ( int num1 = 5; double num2 = 5.5; // calling the function displayNum(num1, num2); return 0; )
Väljund
Int number on 5 Topeltarv on 5,5
Ülaltoodud programmis oleme kasutanud funktsiooni, millel on üks int
parameeter ja üks double
parameeter.
Seejärel edastame argumentidena num1 ja num2. Need väärtused salvestatakse vastavalt funktsiooni parameetritega n1 ja n2.

Märkus. Funktsiooni kutsumisel edastatud argumentide tüüp peab vastama funktsiooni deklaratsioonis määratletud parameetritele.
Tagasi avaldus
Eespool nimetatud programmides oleme funktsiooni deklaratsioonis kasutanud void. Näiteks,
void displayNumber() ( // code )
See tähendab, et funktsioon ei tagasta ühtegi väärtust.
Samuti on võimalik väärtus funktsioonilt tagastada. Selleks peame returnType
funktsiooni deklaratsiooni käigus määrama funktsiooni.
Seejärel saab return
lauset kasutada funktsiooni väärtuse tagastamiseks.
Näiteks,
int add (int a, int b) ( return (a + b); )
Siin on meil andmetüüp int
asemel void
. See tähendab, et funktsioon tagastab int
väärtuse.
Kood return (a + b);
tagastab kahe parameetri summa funktsiooni väärtusena.
return
Avaldus tähendab, et funktsioon on lõppenud. return
Funktsiooni sees olevaid koode ei käivitata.
Näide 3: lisage kaks numbrit
// program to add two numbers using a function #include using namespace std; // declaring a function int add(int a, int b) ( return (a + b); ) int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; )
Väljund
100 + 78 = 178
Ülaltoodud programmis kasutatakse add()
funktsiooni kahe numbri summa leidmiseks.
Me läbime kaks int
literaali 100
ja 78
funktsiooni kutsudes.
Salvestame funktsiooni tagastatud väärtuse muutujasse summa ja seejärel printime selle.

Pange tähele, et summa on int
tüüpi muutuja . Selle põhjuseks on asjaolu, et naaseväärtus add()
on int
tüüpi.
Funktsiooni prototüüp
C ++ puhul peaks funktsiooni deklaratsiooni kood olema enne funktsiooni väljakutset. Kui aga tahame funktsiooni pärast funktsiooni väljakutset määratleda, peame kasutama funktsiooni prototüüpi. Näiteks,
// function prototype void add(int, int); int main() ( // calling the function before declaration. add(5, 3); return 0; ) // function definition void add(int a, int b) ( cout << (a + b); )
Ülaltoodud koodis on funktsiooni prototüüp:
void add(int, int);
See annab kompilaatorile teavet funktsiooni nime ja selle parameetrite kohta. Sellepärast saame koodi kasutada funktsiooni kutsumiseks enne funktsiooni määratlemist.
Funktsiooni prototüübi süntaks on:
returnType functionName(dataType1, dataType2,… );
Näide 4: funktsiooni C ++ prototüüp
// using function definition after main() function // function prototype is declared before main() #include using namespace std; // function prototype int add(int, int); int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; ) // function definition int add(int a, int b) ( return (a + b); )
Väljund
100 + 78 = 178
Ülaltoodud programm on peaaegu identne näitega 3 . Ainus erinevus on see, et siin määratletakse funktsioon pärast funktsiooni väljakutset.
Sellepärast oleme selles näites kasutanud funktsiooni prototüüpi.
Kasutaja määratud funktsioonide kasutamise eelised
- Functions make the code reusable. We can declare them once and use them multiple times.
- Functions make the program easier as each small task is divided into a function.
- Functions increase readability.
C++ Library Functions
Library functions are the built-in functions in C++ programming.
Programmers can use library functions by invoking the functions directly; they don't need to write the functions themselves.
Some common library functions in C++ are sqrt()
, abs()
, isdigit()
, etc.
In order to use library functions, we usually need to include the header file in which these library functions are defined.
For instance, in order to use mathematical functions such as sqrt()
and abs()
, we need to include the header file cmath
.
Example 5: C++ Program to Find the Square Root of a Number
#include #include using namespace std; int main() ( double number, squareRoot; number = 25.0; // sqrt() is a library function to calculate the square root squareRoot = sqrt(number); cout << "Square root of " << number << " = " << squareRoot; return 0; )
Output
Ruutjuur 25-st = 5
Selles programmis kasutatakse sqrt()
raamatukogu funktsiooni arvu ruutjuure arvutamiseks.
Funktsiooni deklaratsioon sqrt()
on määratletud cmath
päisefailis. Sellepärast peame funktsiooni #include
kasutamiseks kasutama koodi sqrt()
.
Lisateabe saamiseks külastage funktsioone C ++ Standard Library.