Функција Ц ++ (са примерима)

У овом упутству ћемо научити о функцији Ц ++ и изразима функција уз помоћ примера.

Функција је блок кода који извршава одређени задатак.

Претпоставимо да треба да креирамо програм за стварање круга и његово бојење. За решавање овог проблема можемо створити две функције:

  • функција за цртање круга
  • функција за бојење круга

Дељењем сложеног проблема на мање делове чини наш програм лаким за разумевање и поновном употребом.

Постоје две врсте функција:

  1. Стандардне функције библиотеке: унапред дефинисане у Ц ++
  2. Кориснички дефинисана функција: Креирали су корисници

У овом упутству ћемо се углавном фокусирати на функције које дефинише корисник.

Ц ++ Кориснички дефинисана функција

Ц ++ омогућава програмеру да дефинише сопствену функцију.

Кориснички дефинисана функција групише код за извршавање одређеног задатка и тој групи кода се даје име (идентификатор).

Када се функција позове из било ког дела програма, све извршава кодове дефинисане у телу функције.

Изјава о функцији Ц ++

Синтакса за декларацију функције је:

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

Ево примера декларације функције.

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

Ево,

  • назив функције је greet()
  • повратни тип функције је void
  • празне заграде значе да нема ниједан параметар
  • тело функције записано је унутра ()

Напомена: О овом водичу ћемо сазнати више returnTypeи parametersкасније.

Позивање функције

У горњем програму смо прогласили функцију именовану greet(). Да бисмо користили greet()функцију, морамо је позвати.

Ево како можемо позвати горњу greet()функцију.

 int main() ( // calling a function greet(); )
Како функција функционише у Ц ++

Пример 1: Прикажите текст

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

Оутпут

 Поздрав!

Параметри функције

Као што је горе поменуто, функција се може декларисати са параметрима (аргументима). Параметар је вредност која се преноси приликом декларисања функције.

На пример, размотримо функцију у наставку:

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

Овде је intпроменљива нум параметар функције.

Приликом позивања функције прослеђујемо вредност параметру функције.

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

Пример 2: Функција са параметрима

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

Оутпут

 Инт број је 5 Двоструки број је 5,5

У горе наведеном програму користили смо функцију која има један intпараметар и један doubleпараметар.

Затим као аргументе прослеђујемо нум1 и нум2. Ове вредности чувају функцијски параметри н1 односно н2.

Ц ++ функција са параметрима

Напомена: Тип аргумената прослеђених током позива функције мора се подударати са одговарајућим параметрима дефинисаним у декларацији функције.

Изјава о повратку

У горе наведеним програмима користили смо воид у декларацији функције. На пример,

 void displayNumber() ( // code )

То значи да функција не враћа никакву вриједност.

Такође је могуће вратити вредност из функције. За ово морамо да одредимо returnTypeфункцију током декларације функције.

Тада се returnнаредба може користити за враћање вредности из функције.

На пример,

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

Овде имамо тип података intуместо void. То значи да функција враћа intвредност.

Код return (a + b);враћа суму два параметра као вредност функције.

returnИзјава означава да је функција завршила. Ниједан код који се returnналази унутар функције се не извршава.

Пример 3: Додајте два броја

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

Оутпут

 100 + 78 = 178

У горе наведеном програму add()функција се користи за проналажење збира два броја.

Пролазимо два intлитерала 100и 78док позивамо функцију.

Враћену вредност функције чувамо у променљивој сум, а затим је исписујемо.

Рад функције Ц ++ са наредбом ретурн

Приметите да је збир променљива intтипа. То је зато што је повратак вредност add()је intтипа.

Прототип функције

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

 Квадратни корен из 25 = 5

У овом програму се sqrt()функција библиотеке користи за израчунавање квадратног корена броја.

Декларација функције sqrt()дефинисана је у cmathдатотеци заглавља. Зато морамо да користимо код #include да користите sqrt()функцију.

Да бисте сазнали више, посетите функције стандардне библиотеке Ц ++.

Занимљиви Чланци...