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

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


 

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

50604. Создание геометрических примитивов. Добавление освещения в сцену 278 KB
  Установив параметры нажмите кнопку Crete Создать. В окне проекции Top Вид сверху нажмите левую кнопку мыши и не отпуская левую клавишу передвиньте мышь определяя первый радиус конуса. Расположение объектов в окне проекции Top Создайте Тор для этого: Нажмите кнопку Torus Тор на панели Cret Создать Создайте тор в окне проекции Top Вид сверху. Создайте трубу для этого: Нажмите кнопку Tube Труба на панели Cret Создать Создайте в окне проекции Top...
50605. Создание интерьера кухни с помощью примитивов 3ds Max 677.5 KB
  Например все объекты сцены на рис. Сцена созданная из примитивов 3ds Mx Цель: Смоделировав подобную сцену вы ознакомитесь с интерфейсом программы научитесь создавать объекты и производить с ними основные операции: выравнивание перемещение вращение клонирование. Научиться производить над объектами основные операции.
50606. Проблемы реализации геополитической стратегии Российской Федерацией 99 KB
  Понятие “геополитика” в современном мире рассматривается, иногда чересчур широко, что, в конечном счете, размывает характерные особенности данного явления.
50607. Создание тел вращения по профилю сечения при помощи сплайнов 923.5 KB
  Сегмент segment это участок линии сплайна между двумя соседними вершинами. Криволинейные сегменты представляются набором прямолинейных отрезков часто незаметных для глаза число которых задается при создании сплайна. Вершины vertex сплайна различаются по типу и определяют степень кривизны сегментов сплайна прилегающих к этим вершинам.
50608. Создание объектов методом Editable Mesh (Редактируемая поверхность) 879 KB
  Переключитесь в режим редактирования Polygon Полигон. Выйдите из режима редактирования Polygon Полигон выделите объект перейдите на вкладку Modify Изменение командной панели выберите из списка Modifier List Список модификаторов модификатор MeshSmooth Сглаживание. Переключитесь в режим редактирования Edge Ребро. Переключитесь в режим редактирования Vertex Вершина.
50609. Создание объектов методом Editable Poly (Редактируемая полисетка) 390 KB
  Далее выделяете полигоны показанные на рисунке 3 выбирать можно по одному удерживая кнопку ctrl. Рис. Должно получиться как на рисунке 4.
50610. Создание объектов при помощи NURBS-кривых и NURBS-поверхностей 278.5 KB
  Отдельные фрагменты NURBS-поверхностей можно прикреплять друг к другу для наращивания общей площади. Различают два типа NURBSповерхностей: точечная поверхность point surfce проходит через все опорные точки заданные в трехмерном пространстве; CVповерхность CV surfce плавно огибает все опорные точки заданные в трехмерном пространстве и называемые управляющими вершинами Control Vertices CV. Создать стеклянные плафоны методом вращения профиля в виде NURBSкривой.
50611. Создание объектов при помощи модификаторов Bevel Bend и Extrude 1.78 MB
  Измените масштаб в окне проекции Front Вид спереди так чтобы вертикальный размер видимой части сетки составлял примерно 55-60 см. Для удобства разверните окно проекции во весь экран. В окнах проекции появится зеркальная копия сплайна выделенная красным цветом. Установка уровня визуализации окна проекции кнопка F9 Сложные сцены зачастую отображаются и визуализируются очень долго.
50612. Создание объектов с помощью лофтинга 3.14 MB
  Выберите команду Grid nd Settings Настройка сетки и привязок меню Customize Настройка и щелкните на корешке вкладки Home Grid Исходная сетка окно диалога Grid nd Snp Settings Настройка сетки и привязок. Щелкните на кнопке Geometry Геометрия командной панели Crete Создать и выберите в раскрывающемся списке разновидностей объектов вариант Compound Objects Составные объекты В свитке Object Type Тип объекта появятся девять кнопок соответствующих типам основных объектов. Щелкните по ней. В свитке Cretion Method Метод...