Інформатика
Функції : Передача параметрів за замовчуванням
 

Передача параметрів за замовчуванням

     В C++ при виклику функцій можна опускати параметри. У таких випадках для опущених параметрів будуть використовуватися значення за замовчуванням.

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

void some_function(int size=12, float cost=19.95) //Значення за замовчуванням

{
     // Оператори функції
}

Наступна програма DEFAULTS. CPP привласнює значення за замовчуванням параметрам a, b і c усередині функції show_parameters. Потім програма чотири рази викликає цю функцію, спочатку не вказуючи параметрів взагалі, потім указуючи значення тільки для а, потім значення для а й b і, нарешті, указуючи значення для всіх трьох параметрів.

Приклад 14. Використання параметрів за замовчуванням..

#include <iostream.h>

void show__parameters (int a=1, int b=2, int c=3)

{
      cout << "a=" << a << " b= " << b << " с= " << с << endl;
}

void main(void)

{
     show_parameters();
     show_parameters(1001);
     show_parameters(1001, 2002);
     show_parameters(1001, 2002, 3003);
}

Коли ви відкомпілюєте й запустите цю програму, на вашім екрані з'явиться наступний результат.

а =1 b=2 с=3

а=1001 b=2 с=3

а=1001 b=2002 с=3

а=1001 b=2002 с=3003

     Якщо програма опускає певний параметр для функції, що забезпечує значення за замовчуванням, то варто опустити й всі наступні параметри. Інакше кажучи, не можна опускати середній параметр. У випадку попередньої програми, якщо було потрібно опустити значення параметра b в show_parameters, програма також повинна була опустити значення параметра с. Не можна вказати значення для а й с, опускаючи значення b.

 
© 2008 ХНУРЭ, Інформатики, Сінельнікова Т.Ф., informatika@kture.Kharkov.ua
Розроблено за допомогою LERSUS