Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Що Таке Функції? | Знайомство з Функціями
Знайомство з C++
course content

Зміст курсу

Знайомство з C++

Знайомство з C++

1. Привіт, C++
2. Змінні та Типи Даних
3. Знайомство з Операторами
4. Знайомство з Потоком Програми
5. Знайомство з Функціями

bookЩо Таке Функції?

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

Зауважте.

Ім'я main вже зарезервовано мовою C++. Тому при оголошенні функції з таким іменем компілятор видасть помилку.

Щоб створити функцію, потрібно:

  • визначити тип даних, які вона буде повертати;
  • присвоїти їй ім'я;
  • надати блок інструкцій (тіло) у фігурних дужках {...} для визначення її функціональності.

For example, let's create a function that outputs the text "c<>definity":

Наприклад, створимо функцію, яка виводить текст "c<>definity":

cpp

main

copy
123456789101112131415
#include <iostream> #include <string> std::string nameOfCourses() // type and name of function { // beginning of a body std::string nameOfCourse = "c<>definity"; return nameOfCourse; } // end of a body int main() { std::cout << "Name of course: " << nameOfCourses() << std::endl; }

Створімо функцію, яка спрощує процес перетворення температур з Фаренгейта на Цельсія. Це практичне застосування у повсякденному житті.

cpp

main

copy
12345678910111213
#include <iostream> int FahrenheitToCelsius(int degree) { int celsius = (degree - 32) / 1.8; return celsius; } int main() { int fahr = 80; std::cout << fahr << " F" << " = " << FahrenheitToCelsius(fahr) << " C" << std::endl; }

Примітка

Аргумент функції представлений змінною degree, яка містить дані, з якими функція працює. У цьому контексті вона відноситься до температур у градусах Фаренгейта, які потрібно перетворити у градуси Цельсія. Пізніше ми детальніше розглянемо аргументи функцій.

Компілятор обробляє наш програмний код послідовно, подібно до того, як людина читає книгу, і якщо він зустрічає невідомі імена змінних чи функцій, він виведе помилку.

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

Цей приклад викликає помилку. Це зроблено навмисно.

cpp

main

copy
12345678910111213
#include <iostream> int main() { int fahr = 80; std::cout << fahr << " F" << " = " << FahrenheitToCelsius(fahr) << " C " << std::endl; } int FahrenheitToCelsius(int degree) //creating function AFTER it calling { int celsius = (degree - 32) / 1.8; return celsius; }

У таких ситуаціях важливо використовувати прототипи функцій.

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

  • вказати тип майбутньої функції;
  • дати їй ім'я;
  • аргументи (за потреби);
  • поставити знак кінця виразу ;.

Додамо прототип функції до нашого прикладу, який викликав помилку:

Примітка

Прототипування є корисним, коли ви працюєте з великою кількістю функціоналу. Щоб уникнути "сміття" в основному файлі, прототипи та визначення функцій переносяться до сторонніх файлів і підключаються до основного файлу з допомогою директиви #include.

cpp

main

copy
123456789101112131415
#include <iostream> int FahrenheitToCelsius(int degree); int main() { int fahr = 80; std::cout << fahr << " F" << " = " << FahrenheitToCelsius(fahr) << " C " << std::endl; } int FahrenheitToCelsius(int degree) { int celsius = (degree - 32) / 1.8; return celsius; }

Примітка

Прототипування є корисним, коли ви працюєте з великою кількістю функцій. Щоб уникнути "сміття" у головному файлі, прототипи і визначення функцій перенесено до сторонніх файлів та включені в основний файл за допомогою директиви #include.

Яка назва цієї функції?

Яка назва цієї функції?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 1
some-alt