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

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


 

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

11093. Действия населения при авариях катастрофах и стихийных бедствиях 26.35 KB
  Действия населения при авариях катастрофах и стихийных бедствиях. Введение. Стихийные действия сил природы пока еще не в полной мере подвластные человеку наносят экономике государства и населению огромный ущерб. Стихийные бедствия – это такие явления природы кото
11094. Средства защиты органов дыхания (противогазы, респираторы). Защитные сооружения, их классификация 48.51 KB
  Средства защиты органов дыхания противогазы респираторы. Защитные сооружения их классификация Средства Индивидуальной Защиты Органов Дыхания СИЗОД К СИЗОД относят противогазы респираторы изолирующие дыхательные аппараты комплект дополнительного патрона...
11095. Военная доктрина РФ. Организационная структура ВС РФ, рода войск и их предназначения 19.3 KB
  Военная доктрина РФ. Организационная структура ВС РФ рода войск и их предназначения. Военная доктрина Российской Федерации Утверждение военной доктрины Российской Федерации находится в компетенции Верховного Главнокомандующего Вооружёнными Силами Российской Фе...
11096. Организация воинского учета призывников, прохождение воинской службы по призыву и по контракту. Альтернативная служба 47.46 KB
  Организация воинского учета призывников прохождение воинской службы по призыву и по контракту. Альтернативная служба Воинский учет Воинский учет – это составная часть воинской обязанности граждан. Воинскому учету подлежат все граждане мужского пола достигшие пр
11097. Общевоинские уставы ВС РФ, закон воинской службы. Воинские звания военнослужащих воинских частей 19.21 KB
  Общевоинские уставы ВС РФ закон воинской службы. Воинские звания военнослужащих воинских частей Общевоинские уставы ВС РФ Дисциплинарный устав Вооруженных Сил Российской Федерации Настоящий Устав определяет сущность воинской дисциплины обязанности военнослу
11098. Правовые основы материального обеспечения военнослужащих воинских частей 108.63 KB
  Правовые основы материального обеспечения военнослужащих воинских частей В соответствии с Конституцией Российской Федерации в целях обеспечения социальной защиты военнослужащих в России разработаны и приняты нормативноправовые акты об их социальном обеспечении...
11099. Боевые традиции ВС РФ. Патриотизм и верность воинскому долгу, основные качества защитника отечества 27.88 KB
  Боевые традиции ВС РФ. Патриотизм и верность воинскому долгу основные качества защитника отечества Вступление Боевые традиции российских Вооруженных сил – это исторически сложившиеся в армии и на флоте и передающиеся из поколения в поколение правила обычаи и нор
11100. Символы воинской чести. Ритуалы ВС РФ 28.27 KB
  Символы воинской чести. Ритуалы ВС РФ. Символы воинской чести России В армейской среде всегда с особым вниманием относились к военной символике которая проявляясь в элементах обмундирования знаменах наградах знаках отличия и различия отражала самобытность наци...
11101. Вредные привычки и их влияние на здоровье (алкоголизм, табакокурение, наркомания и токсикомания). Профилактика злоупотребления психоактивными веществами 23.11 KB
  Вредные привычки и их влияние на здоровье алкоголизм табакокурение наркомания и токсикомания. Профилактика злоупотребления психоактивными веществами Влияние вредных привычек на здоровье человека. Курение. Вот несколько факторов которые свидетельствуют о то...