C ++ funkcija (su pavyzdžiais)

Š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:

  1. Standartinės bibliotekos funkcijos: iš anksto nustatytos C ++
  2. 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ą returnTypeir parametersvė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(); )
Kaip funkcija veikia C ++

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 intkintamasis 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ą intparametrą ir vieną doubleparametrą.

Tada perduodame numerius1 ir num2 kaip argumentus. Šios vertės saugomos pagal funkcijos parametrus n1 ir n2.

C ++ funkcija su parametrais

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 returnTypefunkcijos funkciją deklaruojant funkciją.

Tada returnteiginys 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ą, into ne void. Tai reiškia, kad funkcija grąžina intvertę.

Kodas return (a + b);grąžina dviejų parametrų sumą kaip funkcijos vertę.

returnPareiškimas reiškia, kad funkcija baigėsi. Bet koks kodas, returnesantis 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 intliteralus 100ir 78skambindami funkcijai.

Grąžinamą funkcijos vertę įrašome į kintamąją sumą, tada ją atsispausdiname.

C ++ funkcijos su grąžinimo sakiniu veikimas

Atkreipkite dėmesį, kad suma yra inttipo kintamasis . Taip yra todėl, kad grąžinimo vertė add()yra inttipo.

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 cmathantraš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.

Įdomios straipsniai...