Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
+ООП_Навч_посібник.doc
Скачиваний:
7
Добавлен:
01.07.2025
Размер:
6.58 Mб
Скачать

2.3.3. Передавання аргументів функції

Функції можна передати одне або декілька значень. Значення, що передається функції, називають аргументом. Хоча у програмах, які ми розглядали дотепер, жодна з функцій (ні main(), ні fun_c()) не отримувала ніяких значень, функції у мові програмування C++ можуть приймати один або декілька аргументів. Верхня межа кількості аргументів, що приймаються, визначається конкретним компілятором. Згідно з стандартом мови програмування C++, він дорівнює 256.

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

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

Код програми 2.7. Демонстрація механізму використання функції abs()

#include <iostream> // Для потокового введення-виведення

#include <cstdlib> // Для використання бібліотечних функцій

using namespace std; // Використання стандартного простору імен

int main()

{

cout << abs(-10);

getch(); return 0;

}

У цій програмі функції abs() як аргументу передається число -10. Функція abs() приймає цей аргумент під час виклику і повертає його абсолютне значення, яке у цьому випадку дорівнює числу 10. Важливо запам'ятати: якщо функція приймає аргумент, то його вказують усередині круглих дужок, розташованих відразу після імені функції.

Значення, що повертається функцією abs(), використовується настановою cout для відображення на екрані абсолютного значення числа -10. Йдеться про те, що якщо функція є частиною виразу, то вона автоматично викликається для отримання значення, що повертається нею. У цьому випадку значення, що повертається функцією abs(), виявляється праворуч від оператора "<<" і тому законно відображається на екрані.

Зверніть також увагу на те, що дана програма містить заголовок <cstdlib>. Цей заголовок необхідний для забезпечення можливості виклику функції abs(). Кожного разу, коли Ви використовуєте бібліотечну функцію, у програмі необхідно помістити відповідний заголовок. Заголовок, окрім іншої інформації, повинен містити прототип бібліотечної функції.

Параметр – це визначена функцією змінна, яка приймає аргумент, що передається функції.

Під час розроблення функції, яка приймає один або декілька аргументів, іноді необхідно оголосити змінні, які зберігатимуть значення аргументів. Ці змінні називають параметрами функції. Наприклад, наступна функція виводить добуток двох цілочисельних аргументів, що передаються функції під час її виклику:

void fun_z(int x, int y)

{

cout << x * y << " ";

}

Під час кожного виклику функції fun_z() виконується множення значення, що передається параметру х, на значення, передане параметру y. Проте пам'ятайте, що х і y – це просто змінні, які приймають значення, які передаються під час виклику функції. Розглянемо таку коротку програму, яка демонструє використання функції fun_z().

Код програми 2.8. Демонстрація механізму використання функції fun_z()

#include <iostream> // Для потокового введення-виведення

using namespace std; // Використання стандартного простору імен

void fun_z(int x, int y); // Прототип функції fun_z().

int main()

{

fun_z(10, 20);

fun_z(5, 6);

fun_z(8, 9);

getch(); return 0;

}

void fun_z(int x, int y)

{

cout << x * y << " ";

}

Ця програма виведе на екран числа 200, 30 і 72. Під час виклику функції fun_z() С++-компілятор копіює значення кожного аргументу у відповідний параметр. У цьому випадку під час першого виклику функції fun_z() число 10 копіюється в змінну х, а число 20 – в змінну y. Під час другого виклику 5 копіюється в х, а 6 – в y. Під час третього виклику 8 копіюється в х, а 9 – в y.

Якщо Ви ніколи не працювали з мовою програмування, у якій дозволені функції, які параметризуються, то описаний вище процес може видатися дещо дивним. Проте хвилюватися не варто: у міру перегляду інших С++-програм принцип використання функцій, їх аргументів і параметрів стане зрозумілішим.

Варто знати! Термін аргумент належить до значення, яке використовується під час виклику функції. Змінна, яка приймає цей аргумент, називається параметром. Функції, які приймають аргументи, називаються параметризованими функціями.

Якщо С++-функції мають два або більше аргументів, то вони розділяються між собою комами. У цьому навчальному посібнику під терміном перелік аргументів необхідно розуміти аргументи, розділені між собою комами. Для розглянутої вище функції fun_z() перелік аргументів виражений у вигляді х, y.