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 також повинен мати значення за замовчанням.

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


 

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

30326. Старославянизмы. Их роль в истории РЛЯ. Первое южно-славянское влияние. Стилистические функции старославянизмов 46 KB
  Именно в среде болгар старославянский литературный язык стал языком новой религии. Для распространения нового вероучения в широких народных массах христианские проповедники использовали церковные тексты написанные на близком для восточных славян старославянском языке на который христианские книги переводились с греческого еще в IX веке. Под пером русских книжников старославянский язык испытывает влияние древнерусского языка и выступает в новой ипостаси как церковнославянский язык. При князе Владимире церковнославянский язык получает статус...
30327. Проблема происхождения РЛЯ (концепции А.А. Шахматова и С.П. Обнорского, компромиссные теории) 52 KB
  Основная проблематика в изучении происхождения русского литературного языка три концепции происхождения русского языка: а концепция А. Основная проблематика в изучении начального этапа становления русского литературного языка: а концепция Б. Дискуссии о происхождении русского литературного языка начались еще в 18 веке и продолжаются почти беспрерывно до настоящего времени. языка с течением времени все более и более уступают место элементам русской народной речи что находит окончательное завершение к первым десятилетиям 19 в.
30329. Распределение имен по типам склонения в индоевропейском языке 85 KB
  Семантический признак основание для выделения типов склонения. По древнейшим суффиксам уже выделялось 5 типов склонения а долгое о и у краткие подтипы: согласные es en et er у долгое = ъв. Изменения древнейшей системы склонения начались с общеславянского языка.