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

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


 

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

3405. Теплотехнический расчет теплопередач 58.57 KB
  Задача №1. Расчет теплопередачи через плоскую многослойную стенку Плоская стальная стенка толщиной. Определить коэффициент теплопередачи k от газов к воде, плотность теплового потока q и температуры обеих поверхностей стенки, если известны коэффициенты теплоотдачи от газа к стенке α1 и от стенки к воде α2, коэффициент теплопроводности стали λ....
3406. Расчёт точностных параметров изделий 1.15 MB
  В курсовой работе для заданного механизма назначены посадки для всех сопрягаемых размеров, рассчитана посадка с натягом для соединения 4-7, переходная для соединения 4-6, назначены и рассчитаны посадки для подшипников качения 1, рассчитана размерная...
3407. Расчет крыльевого профиля 122 KB
  Расчет крыльевого профиля. Варианты заданий Все профили симметричные с хордой в = 150 мм и максимальной толщиной с = 14 мм. Параметры потока обтекающего крыловой профиль № варианта № профиля M P(МПА) T(K) k угол атаки угол атаки угол атаки 1 1 3.6 0...
3408. Геометрический расчет и конструирование зубчатых колес 2 MB
  Геометрический расчет и конструирование зубчатых колес Геометрический расчет выполняется в минимальном объеме. Определению подлежат: делительные d1 и d2 и начальные dw1 и dw2 диаметры колес; коэффициенты смещения X1 и X2; диаметры окружностей вершин...
3409. Hазработка технологического процесса штамповки шестерни 165.22 KB
  В данной курсовой работе представлена разработка технологического процесса штамповки шестерни. Курсовая работа состоит из расчетно-пояснительной записки и графической части. В пояснительной записке выбирается метод штамповки, и метод нагрева заготов...
3410. Краны башенные. Строение и назначение 113.09 KB
  Назначение башенных кранов. Башенные краны широко применяются в гражданском, промышленном, энергетическом и гидротехническом строительстве для монтажных работ и работ по вертикальному и горизонтальному перемещению различных грузов. Если на строитель...
3411. Быстрорежущие стали 65.05 KB
  Классификация быстрорежущих сталей Быстрорежущие стали широко применяют для изготовления режущего инструмента, работающего в условиях значительного силового нагружения и нагрева (до 600–640 °С) режущих кромок. К этой группе сталей относятся...
3412. Исследование электромеханических свойств двигателя постоянного тока независимого возбуждения 306 KB
  Исследование электромеханических свойств двигателя постоянного тока независимого возбуждения. Исследовать влияние сопротивления цепи якоря, напряжения питания и магнитного потока на электромеханические и механические свойства двигателя постоянного тока независимого возбуждения, а также изучить способы изменения направления вращения якоря двигателя, построить естественные и искусственные характеристики двигателя.
3413. Тепловой расчет двигателя на режиме максимальной мощности 938.05 KB
  Целью курсового проекта по дисциплине «Автомобильные двигатели» является закрепление знаний, полученных студентами при изучении всех разделов дисциплины. В первой части проекта требуется произвести тепловой расчет двигателя на режиме максим...