69709

Параметри по замовчуванню

Лекция

Информатика, кибернетика и программирование

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

Украинкский

2014-10-09

24.5 KB

0 чел.

Тема 9: Параметри по замовчуванню

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

void myfunc (double d =  0.0)

Тепер функцію myfunc() можна викликати двома способами.

myfunc (198 .234) ;   //  Передача  явного  значення

myfunc O; //   Функція  використовує   значення  за замовчанням

При першому виклику параметр d отримує значення 198.234. Під час другого виклику параметр d автоматично приймає значення 0.0.

Параметри за замовчанням дозволяють справлятися із зростаючою складністю програм.  У багатьох випадках функції містять більше параметрів,  чим потрібно у конкретній ситуації. Таким чином, у кожному конкретному випадку достатньо вказати лише необхідні параметри, а не все відразу. Наприклад, багато функцій введення-вивдення використовують саме цей механізм.

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

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

void iputs(float a=1.23, int b, int z=0);

Почавши визначати параметри, що приймають значення за замовчанням, не можна перемішувати їх звичайними параметрами. Інакше кажучи, наступне оголошення є невірним.

int myfunc(float  f,   char  *str,   int  i=10,   int j);

Оскільки значення параметра i задається за замовчанням, параметр j також повинен мати значення за замовчанням.

Параметри конструктора теж можуть мати значення за замовчанням.


 

А также другие работы, которые могут Вас заинтересовать

12996. Простейшие узлы вычислительной техники 400.5 KB
  Лекция №3 Тема Простейшие узлы вычислительной техники ЛОГИЧЕСКИЕ ФУНКЦИИ. Понятие о логической функции и логическом устройстве. Диоднорезисторные схемы. ТРИГГЕРЫ. Классификация триггеров. Асинхронные триггеры. Син
12997. СЧЕТЧИКИ. Суммирующие двоичные счетчики 138.5 KB
  Лекція № 4 Тема СЧЕТЧИКИ 1. СЧЕТЧИКИ. Общие сведения. 2. Суммирующие двоичные счетчики. 3. Вычитающий и реверсивный счетчики. 1.СЧЕТЧИКИ. Общие сведения. Счетчик цифровое устройство осуществляющее счет числа появлений на входе определенного логического уро...
12998. Шифратори, дешифратори 2.04 MB
  Тема: Шифратори дешифратори. 1. Шифратори 2. Дешифраторы 3. Линейный дешифратор. 4. Прямоугольный дешифратор. 5. АЦП и ЦАП. Принцип аналогоцифрового преобразования информации. 6. Дискретизация непрерывных сигналов. 7. Цифроаналоговые преобразователи. 7.1Схема ЦА
12999. Сумматоры Одноразрядный двоичный сумматор. 151.5 KB
  СУММАТОРЫ Одноразрядный двоичный сумматор. Из рассмотренного принципа сложения многоразрядных двоичных чисел следует что в каждом из разрядов производятся однотипные действий: определяется цифра суммы путем сложения по модулю 2 цифр слагаемых и поступающего в...
13000. Оперативные запоминающие устройства - ОЗУ(RAM). Постоянные запоминающие устройства (ПЗУ) 1.23 MB
  Лекция №7 Оперативные запоминающие устройства ОЗУRAM. Постоянные запоминающие устройства ПЗУ В радиоаппаратуре часто требуется хранение временной информации значение которой не важно при включении устройства. Такую память можно было бы построить на микросхе...
13001. Комбинированный программно-аппаратный метод представления эволюций сложных пространственных перемещений символов объектов 237 KB
  Лекция №8 Комбинированный программноаппаратный метод представления эволюций сложных пространственных перемещений символов объектов Ужесточение требований отображения множества разнотипных движущихся сложных символов объектов часто представленных матрицами 32
13002. Програмування. Основні етапи розробки прикладних програм 42.5 KB
  ЛЕКЦІЯ 9 1.1: Програмування. Основні етапи розробки прикладних програм. Під програмуванням розуміють представлення в деякій символічній формі певного алгоритму. В якості символічної форми може використовуватися будьяка мова спілкування спеціально створена штучна...
13003. Системний аналіз В.М. Глушкова як базовий принцип побудови спеціалізованих агротехічних геоінформаційних комплексів. Поняття системного аналізу. Етапи системного аналізу 300.5 KB
  Лекція 1.2. Системний аналіз В.М. Глушкова як базовий принцип побудови спеціалізованих агротехічних геоінформаційних комплексів. Поняття системного аналізу. Етапи системного аналізу. План 1. Поняття системного аналізу. 2. Етапи системного аналізу. 1. Понятие сис
13004. Про необхідність і можливість застосування математичних методів та моделей в біотехнології. Загальні поняття про моделі й моделювання 57 KB
  Лекция №1.1. Про необхідність і можливість застосування математичних методів та моделей в біотехнології. Загальні поняття про моделі й моделювання. План 1.Мета і задачі навчальної дисципліни. Зміст дисципліни. Рекомендована література. 2.Оптимізаційний характер зем...