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

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


 

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

50031. Инструментальные возможности программы Corel Draw 167 KB
  Это также наиболее известный из графических программных продуктов корпорации Corel которая наряду с dobe Corportion является ведущим производителем программных продуктов для компьютерной графики. Достоинствам продуктов Corel Corportion является разработка нескольких миллионов готовых изображений причем каждая линия в них поддается редактированию. В Corel Drw существуют не только мощные средства векторного редактирования но и средства верстки многостраничных документов а также подготовки их как в печатном так и в электронном виде.
50032. Измерение параметров индуктивности в цепи переменного тока 255 KB
  Цель работы: Определение импеданса сдвига фаз и измерение индуктивности на разных частотах в резистивно-индуктивной цепи. При работе на переменном токе с реактивными элементами в цепи индуктивность емкость следует обязательно учитывать их реактивный характер проводимости. Кроме того реактивные...
50033. Перевірка правил Кірхгофа 133.5 KB
  Мета роботи: перевірити правила Кірхгофа для кола постійного струму. Теоретичні пояснення правил Кірхгофа а також їх практичне використання для розрахунку розгалужених електричних кіл показані в розділі 3. Застосуємо перше правило Кірхгофа до вузла В...
50034. ИЗМЕРЕНИЕ РАЗРЕШАЮЩЕЙ СПОСОБНОСТИ ОБЪЕКТИВОВ 315 KB
  Как следствие фокусное расстояние объектива зависит от длины световой волны и если для одной длины волны изображение хорошо сфокусировано то для других длин волн хорошей фокусировки не наблюдается. Если как это обычно бывает оправа объектива круглая то изображение светящейся точки имеет вид круглого пятна окруженного концентрическими светлыми и темными кольцами рис. Способность объектива создавать раздельные изображения близко расположенных мелких деталей называется разрешающей способностью объектива. Чем меньше угол  тем ближе...
50035. Юридическая психология. Учебно-методический комплекс 677.5 KB
  Цель дисциплины – психологическая подготовка юриста к профессиональной деятельности, формирование эффективных приемов работы с людьми и овладение методами профессионально значимого самопознания и саморазвития личности.
50036. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА ВРЕДНЫХ ГАЗОВ В ВОЗДУХЕ ПРОИЗВОДСТВЕННЫХ ПОМЕЩЕНИЙ 1.08 MB
  Приводятся величины предельно допустимых концентраций ПДК вредных газов выше которых следует применять средства защиты: респираторы с противогазовыми патронами если концентрация вредного газа не превышает 10 ПДК или противогазы если концентрация вредного газа в воздухе выше 10 ПДК. ИЗУЧЕНИЕ И ВЫБОР СРЕДСТВ ИНДИВИДУАЛЬНОЙ ЗАЩИТЫ ОРГАНОВ ДЫХАНИЯ Цель работы: Изучить назначение устройство и область применения средств индивидуальной защиты органов дыхания СИЗОД. Порядок выбора СИЗОД их классификация и требования к применению...
50037. ОПРЕДЕЛЕНИЕ РАДИУСА КРИВИЗНЫ ЛИНЗЫ С ПОМОЩЬЮ КОЛЕЦ НЬЮТОНА 140 KB
  Кольца Ньютона. Классическим примером полос равной толщины являются кольца Ньютона. 1а видно что толщина воздушного зазора δ связана с радиусами наблюдаемых колец rk и радиусом кривизны линзы R следующим образом: 2 Учтем что δ R2 1 и пренебрегая этим слагаемым в формуле 2 получим: 3 С учетом 3 выражение 1 будет иметь вид: 4 Интерференционные максимумы светлые кольца получаются при условии если на разности хода укладывается четное число полуволн целое число длин волн: 5 где k = 0 1 2. порядок интерференции или...