Функція C ++ (з прикладами)

У цьому підручнику ми дізнаємося про функцію C ++ та вирази функцій за допомогою прикладів.

Функція - це блок коду, який виконує певне завдання.

Припустимо, нам потрібно створити програму, щоб створити коло та розфарбувати його. Ми можемо створити дві функції для вирішення цієї проблеми:

  • функція для малювання кола
  • функція забарвлення кола

Поділ складної проблеми на менші шматки робить нашу програму легкою для розуміння та повторним використанням.

Існує два типи функцій:

  1. Стандартні функції бібліотеки: попередньо визначені в C ++
  2. Визначена користувачем функція: Створена користувачами

У цьому посібнику ми зосередимось переважно на визначених користувачем функціях.

C ++ - визначена користувачем функція

C ++ дозволяє програмісту визначати власну функцію.

Визначена користувачем функція групує код для виконання конкретного завдання, і цій групі коду присвоюється ім'я (ідентифікатор).

Коли функція викликається з будь-якої частини програми, вона вся виконує коди, визначені в тілі функції.

Декларація функції С ++

Синтаксис для оголошення функції:

 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(); )
Як функція працює в C ++

Приклад 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змінна num є параметром функції.

Ми передаємо значення параметру функції під час виклику функції.

 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параметр.

Потім ми передаємо num1 та num2 як аргументи. Ці значення зберігаються функціональними параметрами n1 та n2 відповідно.

Функція C ++ з параметрами

Примітка: Тип аргументів, переданих під час виклику функції, повинен збігатися з відповідними параметрами, визначеними в декларації функції.

Заява про повернення

У вищезазначених програмах ми використовували void у оголошенні функції. Наприклад,

 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під час виклику функції.

Ми зберігаємо повернене значення функції у змінну sum, а потім друкуємо його.

Робота функції C ++ з оператором return

Зверніть увагу, що сума є змінною 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()функцію.

Щоб дізнатись більше, відвідайте функції стандартної бібліотеки C ++.

Цікаві статті...