Зміст курсу
Вступ до C++
Вступ до C++
Що таке Функції?
Функції - це невеликі підпрограми, які можна викликати за потреби. Кожна функція має ім'я, за яким її можна викликати.
Примітка
Ім'я
main
вже зарезервоване мовою C++. Тому, при оголошенні функції з цим ім'ям, компілятор видасть помилку.
Щоб створити функцію, потрібно:
- визначити тип даних, які вона буде повертати;
- призначити їй ім'я;
- надати блок інструкцій (тіло) у фігурних дужках
{...}
, щоб визначити її функціональність.
Наприклад, створимо функцію, яка виводить текст "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; }
У таких ситуаціях важливо використовувати прототипи функцій.
Мета прототипування полягає в тому, щоб заздалегідь повідомити компілятор про нашу функцію. Створення прототипу схоже на стандартне оголошення функції, але з невеликою різницею:
- вказати тип майбутньої функції;
- дати їй ім'я;
- аргументи (якщо потрібно);
- поставити символ кінця виразу
;
.
Додамо прототип функції до нашого прикладу, який викликав помилку:
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
.
Дякуємо за ваш відгук!