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

8.2.8. Поняття про ключове слово overload

Ще на початку розроблення мови програмування C++ перевантажені функції необхідно було безпосередньо оголошувати такими за допомогою ключового слова keyword. Це ключове слово більше не потрібне у стандарті мови програмування C++. Насправді стандартом мови C++ воно навіть не включене в перелік ключових слів. Проте час від часу воно може траплятися у будь-якому С++-коді програми, особливо в старих книгах і статтях.

Загальна форма використання ключового слова overload є така:

overload func_name;

У цьому записі елемент func_name є іменем перевантажуваної функції. Ця настанова повинна передувати оголошенням перевантажених функцій2. Наприклад, якщо функція Counter() є перевантаженою, то у програму може бути поміщено такий рядок:

overload Counter;

Якщо Вам трапиться overload-оголошення під час роботи із старими програмами, то їх можна просто видалити: вони більше не потрібні. Оскільки ключове слово overload є анахронізмом, то його не варто використовувати в нових С++-програмах. Насправді більшість компіляторів його просто не сприймуть.

8.3. Передача аргументів функції за замовчуванням

У мові програмування C++ ми можемо надати параметру певне значення, яке буде автоматично використане, якщо під час виклику функції не задається аргумент, що відповідає цьому параметру. Аргументи, що передаються функції за замовчуванням, можна використовувати для спрощення звернення до складних функцій, а також як "скорочену форму" перевантаження функцій.

Завдання аргументів, що передаються функції за замовчуванням, синтаксично є аналогічним ініціалізації змінних. Розглянемо наведений нижче приклад, у якому оголошується функція myFunc(), що приймає один аргумент типу double з діючим за замовчуванням значенням 0.0 і один символьний аргумент з діючим за замовчуванням значенням 'X'.

void myFunc(double num = 0.0, char ch = 'X')

{

. . .

}

Після такого оголошення функцію myFunc() можна викликати одним з трьох таких способів:

myFunc(198.234, 'А'); // Передаємо безпосередньо задані значення.

myFunc(10.1); // Передаємо для параметра num значення 10.1,

// а для параметра ch дозволяємо застосувати

// аргумент, що задається за замовчуванням ('X').

myFunc(); // Для обох параметрів num і ch дозволяємо застосувати

// аргументи, що задаються за замовчуванням.

Під час першого виклику параметру num передається значення 198.234, а параметру ch – символ 'А'. Під час другого виклику параметру num передається значення 10.1, а параметру ch за замовчуванням встановлюється значення, що дорівнює символу 'X'. Нарешті, внаслідок третього виклику як параметр num, так і параметр ch за замовчуванням встановлюються такими значення, що задаються в оголошенні функції.

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

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