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

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


 

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

67251. НЕЙРОННЫЕ ОСНОВЫ ПАМЯТИ И НАУЧЕНИЯ 168.5 KB
  Память можно определить как способность мозга приобретать и использовать опыт сохранять полученную информацию. Поскольку научение основывается на механизмах памяти два этих понятия неразрывно связаны. Такая перестройка должна обеспечивать адаптивное изменение поведения благодаря сохранению...
67252. ПОЛІТИКА ТА ЕТНОНАЦІОНАЛЬНІ ВІДНОСИНИ 161.5 KB
  Якщо народи існували з давніхдавен то нації викристалізувалися лише в XVII XVIII ст. Народність це історично сформована мовна територіальна економічна і культурна спільність людей яка передує нації. На відміну від нації у народності немає промисловості і відповідно...
67254. Передача параметрів конструкторам базового класу 75.5 KB
  Демонстрація механізму передачі параметрів конструкторам декількох базових класів Демонстрація механізму передачі аргументів конструкторам базового класу через конструктори похідного класу Дотепер жоден з попередніх прикладів не містив конструкторів для яких потрібно було...
67255. Документирование программных средств 149.5 KB
  Тексты и объектный код программ для ЭВМ могут стать программным продуктом только в совокупности с комплексом документов полностью соответствующих их содержанию и достаточных для его освоения применения и изменения. Посредством документов электронных или бумажных специалисты взаимодействуют...
67256. Статичне і відносне позиціонування CSS 260.5 KB
  Властивість position в CSS має чотири законних значення (на додаток до всюдисущому inherit): static, relative, absolute і fixed. Ці значення мають суттєвий вплив на те, як змальовується елемент. Два значення, static і relative, тісно пов’язані, й ми докладно розглянемо їх у цій темі.
67257. Законодательные органы 14.74 KB
  Ценности парламента: 1. Сегодня многие говорят о кризисе парламентаризма. Основные направления реформирования парламента: 1 Четко определить место парламента в системе распределения властей. Члены парламента осуществляют свою функцию профессионально все время на которое их избрали.
67258. ОБЩАЯ ХАРАКТЕРИСТИКА ЛЕГИРОВАННЫХ СТАЛЕЙ 29.5 KB
  Классификация примесей Все примеси содержащиеся в стали можно разделить на 4 группы: Это невредные примеси: марганец 0307 вес кремний 0204 их введение необходимо при производстве стали для раскисления жидкого металла причем в кипящей стали кремния мало 007.
67259. Мотивація й оплата праці 58.12 KB
  Результативність праці на кожному робочому місці зумовлює рівень економічної ефективності функціонування аграрного підприємства загалом. З-поміж різноманітних чинників, котрі становлять основу активізації зусиль персоналу підприємства...