Головна » Статті » С++ » Функції в С++ |
Поняття функції С++
Часто при програмуванні тієї чи іншої задачі нам доводиться неодноразово використовувати один і той же код. Звичайно, є незручним постійне його прописування в кожній окремій ситуації, тому виникає питання: чи не можна цей блок команд реалізувати раз і якось до нього звертатись? Виявляється, можна. Це реалізовується за допомогою функцій.
Отож, функція в С++ - це набір команд, який має власне позначення - ім'я. Вони оголошуються наступним чином: <тип> name_f(<аргументи>) { //команди } де тип - це тип значення, яке вертає функція (винятком є тип void, який означає, що дана функція не виводить нічого, тобто операція return у ній недопустима), name_f - це її ім'я, аргументи - значення, які поступають ззовні (в принципі, їх може і не бути). Приклад 1: double func1(double a, double b) { int S; S=pow(a, 2)-pow(b, 2); return( S/(pow(a, 2)+pow(b, 2)+1) ); } Даний фрагмент оголосить функцію func1, що получає на вході два дійсних числа типу double і вертає як результат різницю їх квадратів, ділену на суму квадратів, збільшену на 1, такого ж типу. Приклад 2: void func2() { cout << "Hello, World!!!" << endl; } Це означає, що оголошено функцію func2 типу void, яка нічого не отримує на вході, нічого в результаті не вертає, а лише виводить повідомлення "Hello, World!!!". Значення функцій (за винятком функцій типу void) можна присвоювати змінним. Для прикладу, в наступній інструкції змінній х присвоїться значення описаної вище функції func1 при відповідних значеннях аргументів 2 і 3: x=func1(2, 3); Як і змінні, функції можуть бути визвані після їх оголошення. Спроба визвати її до оголошення згенерує помилку при компіляції. Також варто відмітити, що немає нічого страшного і дивного, що одні функції можуть визивати вище описані. Це може робитися, для прикладу, з метою "спрощення" коду (інколи це набагато покращує його читабельність або полегшує програмування більш глобальних процесів). Надіюсь, дана інформація була для Вас корисною!!! | |
Переглядів: 265 | | |
Всього коментарів: 0 | |