Funkcija C ++ (s primjerima)

U ovom uputstvu uz primjere ćemo naučiti o funkciji C ++ i izrazima funkcija.

Funkcija je blok koda koji izvršava određeni zadatak.

Pretpostavimo da trebamo stvoriti program za stvaranje kruga i bojanje. Za rješavanje ovog problema možemo stvoriti dvije funkcije:

  • funkcija za crtanje kruga
  • funkcija za bojanje kruga

Dijeljenjem složenog problema na manje dijelove čini naš program lakim za razumijevanje i ponovnom uporabom.

Postoje dvije vrste funkcija:

  1. Standardne funkcije knjižnice: unaprijed definirane u C ++
  2. Korisnički definirana funkcija: kreirali korisnici

U ovom uputstvu uglavnom ćemo se usredotočiti na funkcije koje definira korisnik.

C ++ Korisnički definirana funkcija

C ++ programeru omogućuje definiranje vlastite funkcije.

Korisnički definirana funkcija grupira kôd za izvođenje određenog zadatka i toj skupini koda daje ime (identifikator).

Kad se funkcija pozove iz bilo kojeg dijela programa, sve izvršava kodove definirane u tijelu funkcije.

Izjava o funkciji C ++

Sintaksa za deklariranje funkcije je:

 returnType functionName (parameter1, parameter2,… ) ( // function body )

Evo primjera deklaracije funkcije.

 // function declaration void greet() ( cout << "Hello World"; )

Ovdje,

  • naziv funkcije je greet()
  • povratni tip funkcije je void
  • prazne zagrade znače da nema nikakve parametre
  • tijelo funkcije zapisano je unutra ()

Napomena: O ovome ćemo naučiti returnTypei parameterskasnije.

Pozivanje funkcije

U gore navedenom programu proglasili smo funkciju imenovanu greet(). Da bismo koristili greet()funkciju, trebamo je pozvati.

Evo kako možemo pozvati gornju greet()funkciju.

 int main() ( // calling a function greet(); )
Kako funkcija funkcionira na C ++

Primjer 1: Prikažite tekst

 #include using namespace std; // declaring a function void greet() ( cout << "Hello there!"; ) int main() ( // calling the function greet(); return 0; )

Izlaz

 Pozdrav!

Parametri funkcije

Kao što je gore spomenuto, funkcija se može deklarirati s parametrima (argumentima). Parametar je vrijednost koja se prosljeđuje prilikom deklariranja funkcije.

Na primjer, razmotrimo funkciju u nastavku:

 void printNum(int num) ( cout << num; )

Ovdje je intvarijabla num parametar funkcije.

Dok pozivamo funkciju, parametru funkcije prosljeđujemo vrijednost.

 int main() ( int n = 7; // calling the function // n is passed to the function as argument printNum(n); return 0; )

Primjer 2: Funkcija s parametrima

 // 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; )

Izlaz

 Int broj je 5 Dvostruki broj je 5,5

U gore navedenom programu koristili smo funkciju koja ima jedan intparametar i jedan doubleparametar.

Zatim kao argumente prosljeđujemo num1 i num2. Te vrijednosti pohranjuju funkcijski parametri n1 odnosno n2.

C ++ funkcija s parametrima

Napomena: Tip argumenata prosljeđenih tijekom poziva funkcije mora se podudarati s odgovarajućim parametrima definiranim u deklaraciji funkcije.

Izjava o povratku

U gornjim programima koristili smo void u deklaraciji funkcije. Na primjer,

 void displayNumber() ( // code )

To znači da funkcija ne vraća nikakvu vrijednost.

Također je moguće vratiti vrijednost iz funkcije. Za to moramo navesti returnTypefunkciju tijekom deklaracije funkcije.

Tada se returnnaredba može koristiti za vraćanje vrijednosti iz funkcije.

Na primjer,

 int add (int a, int b) ( return (a + b); )

Ovdje intumjesto tipa imamo tip podataka void. To znači da funkcija vraća intvrijednost.

Kôd return (a + b);vraća zbroj dva parametra kao vrijednost funkcije.

returnIzjava označava da je funkcija završila. Bilo koji kod koji se nalazi returnunutar funkcije se ne izvršava.

Primjer 3: Dodajte dva broja

 // 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; )

Izlaz

 100 + 78 = 178

U gore navedenom programu add()funkcija se koristi za pronalaženje zbroja dva broja.

Prolazimo dva intliterala 100i 78dok pozivamo funkciju.

Vraćenu vrijednost funkcije pohranjujemo u varijablu zbroj, a zatim je ispisujemo.

Rad funkcije C ++ s naredbom return

Primijetite da je zbroj varijabla inttipa. To je zato što je povratak vrijednost add()je inttipa.

Prototip funkcije

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

 Kvadratni korijen iz 25 = 5

U ovom se programu sqrt()funkcija knjižnice koristi za izračunavanje kvadratnog korijena broja.

Deklaracija funkcije sqrt()definirana je u cmathzaglavnoj datoteci. Zato trebamo koristiti kôd #include da bismo koristili sqrt()funkciju.

Da biste saznali više, posjetite funkcije standardne knjižnice C ++.

Zanimljivi članci...