Šioje pamokoje pavyzdžių pagalba sužinosime apie funkciją C ++ ir funkcijos išraiškas.
Funkcija yra kodo blokas, kuris atlieka konkrečią užduotį.
Tarkime, kad turime sukurti programą, kad sukurtume apskritimą ir jį nuspalvintume. Norėdami išspręsti šią problemą, galime sukurti dvi funkcijas:
- funkcija nupiešti apskritimą
- funkcija apskritimui nuspalvinti
Padalinus sudėtingą problemą į mažesnes dalis, mūsų programa tampa lengvai suprantama ir daugkartinio naudojimo.
Yra dviejų tipų funkcijos:
- Standartinės bibliotekos funkcijos: iš anksto nustatytos C ++
- Vartotojo nustatyta funkcija: sukurta vartotojų
Šioje pamokoje daugiausia dėmesio skirsime vartotojo apibrėžtoms funkcijoms.
C ++ vartotojo apibrėžta funkcija
C ++ leidžia programuotojui apibrėžti savo funkciją.
Vartotojo apibrėžta funkcija grupuoja kodą tam tikrai užduočiai atlikti ir šiai kodo grupei suteikiamas pavadinimas (identifikatorius).
Kai funkcija iškviečiama iš bet kurios programos dalies, ji vykdo kodus, apibrėžtus funkcijos tekste.
C ++ funkcijų deklaracija
Funkcijos deklaravimo sintaksė yra:
returnType functionName (parameter1, parameter2,… ) ( // function body )
Pateikiame funkcijos deklaracijos pavyzdį.
// function declaration void greet() ( cout << "Hello World"; )
Čia
- funkcijos pavadinimas yra
greet()
- funkcijos grąžinimo tipas yra
void
- tušti skliaustai reiškia, kad jis neturi jokių parametrų
- funkcijos kūnas yra parašytas viduje
()
Pastaba: mes sužinosime apie šią instrukciją returnType
ir parameters
vėliau.
Funkcijos iškvietimas
Pirmiau pateiktoje programoje mes paskelbėme funkciją, pavadintą greet()
. Norėdami naudoti greet()
funkciją, turime ją iškviesti.
Štai kaip galime iškviesti pirmiau nurodytą greet()
funkciją.
int main() ( // calling a function greet(); )

1 pavyzdys: Rodyti tekstą
#include using namespace std; // declaring a function void greet() ( cout << "Hello there!"; ) int main() ( // calling the function greet(); return 0; )
Rezultatas
Sveiki!
Funkcijos parametrai
Kaip minėta aukščiau, funkciją galima deklaruoti su parametrais (argumentais). Parametras yra reikšmė, perduodama deklaruojant funkciją.
Pavyzdžiui, apsvarstykime toliau pateiktą funkciją:
void printNum(int num) ( cout << num; )
Čia int
kintamasis num yra funkcijos parametras.
Skambindami funkcijai, funkcijos parametrui perduodame vertę.
int main() ( int n = 7; // calling the function // n is passed to the function as argument printNum(n); return 0; )
2 pavyzdys: funkcija su parametrais
// 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; )
Rezultatas
Int skaičius yra 5 Dvigubas skaičius yra 5,5
Pirmiau pateiktoje programoje mes naudojome funkciją, kuri turi vieną int
parametrą ir vieną double
parametrą.
Tada perduodame numerius1 ir num2 kaip argumentus. Šios vertės saugomos pagal funkcijos parametrus n1 ir n2.

Pastaba: iškviečiant funkciją perduotų argumentų tipas turi atitikti atitinkamus parametrus, apibrėžtus funkcijos deklaracijoje.
Grąžinimo pareiškimas
Pirmiau nurodytose programose funkcijų deklaracijoje panaudojome void. Pavyzdžiui,
void displayNumber() ( // code )
Tai reiškia, kad funkcija negrąžina jokios vertės.
Taip pat galima grąžinti reikšmę iš funkcijos. Tam turime nurodyti returnType
funkcijos funkciją deklaruojant funkciją.
Tada return
teiginys gali būti naudojamas norint grąžinti reikšmę iš funkcijos.
Pavyzdžiui,
int add (int a, int b) ( return (a + b); )
Čia mes turime duomenų tipą, int
o ne void
. Tai reiškia, kad funkcija grąžina int
vertę.
Kodas return (a + b);
grąžina dviejų parametrų sumą kaip funkcijos vertę.
return
Pareiškimas reiškia, kad funkcija baigėsi. Bet koks kodas, return
esantis funkcijos viduje, nėra vykdomas.
3 pavyzdys: pridėkite du skaičius
// 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; )
Rezultatas
100 + 78 = 178
Pirmiau pateiktoje programoje ši add()
funkcija naudojama dviejų skaičių sumai surasti.
Mes praleidžiame du int
literalus 100
ir 78
skambindami funkcijai.
Grąžinamą funkcijos vertę įrašome į kintamąją sumą, tada ją atsispausdiname.

Atkreipkite dėmesį, kad suma yra int
tipo kintamasis . Taip yra todėl, kad grąžinimo vertė add()
yra int
tipo.
Funkcijos prototipas
In C++, the code of function declaration should be before the function call. However, if we want to define a function after the function call, we need to use the function prototype. For example,
// 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); )
In the above code, the function prototype is:
void add(int, int);
This provides the compiler with information about the function name and its parameters. That's why we can use the code to call a function before the function has been defined.
The syntax of a function prototype is:
returnType functionName(dataType1, dataType2,… );
Example 4: C++ Function Prototype
// 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); )
Output
100 + 78 = 178
The above program is nearly identical to Example 3. The only difference is that here, the function is defined after the function call.
That's why we have used a function prototype in this example.
Benefits of Using User-Defined Functions
- 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
Kvadratinė šaknis iš 25 = 5
Šioje programoje sqrt()
bibliotekos funkcija naudojama skaičiuojant kvadratinę šaknį.
Funkcijos deklaracija sqrt()
yra apibrėžta cmath
antraštės faile. Štai kodėl mums reikia naudoti kodą, #include
kad galėtume naudoti sqrt()
funkciją.
Norėdami sužinoti daugiau, apsilankykite C ++ standartinės bibliotekos funkcijose.