Зміст курсу
Знайомство з C++
Знайомство з C++
Що Таке Функції?
Функції - це невеликі підпрограми, які можна викликати за потреби. Кожна функція має ім'я, за яким її можна викликати.
Зауважте.
Ім'я
main
вже зарезервовано мовою C++. Тому при оголошенні функції з таким іменем компілятор видасть помилку.
Щоб створити функцію, потрібно:
- визначити тип даних, які вона буде повертати;
- присвоїти їй ім'я;
- надати блок інструкцій (тіло) у фігурних дужках
{...}
для визначення її функціональності.
For example, let's create a function that outputs the text "c<>definity"
:
Наприклад, створимо функцію, яка виводить текст "c<>definity"
:
main
#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; }
Створімо функцію, яка спрощує процес перетворення температур з Фаренгейта на Цельсія. Це практичне застосування у повсякденному житті.
main
#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
, яка містить дані, з якими функція працює. У цьому контексті вона відноситься до температур у градусах Фаренгейта, які потрібно перетворити у градуси Цельсія. Пізніше ми детальніше розглянемо аргументи функцій.
Компілятор обробляє наш програмний код послідовно, подібно до того, як людина читає книгу, і якщо він зустрічає невідомі імена змінних чи функцій, він виведе помилку.
Для прикладу, спробуємо викликати функцію до її визначення.
Цей приклад викликає помилку. Це зроблено навмисно.
main
#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
.
main
#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
.
Дякуємо за ваш відгук!