Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Функції з аргументами за замовчуванням




У прототипі функції можна задати не тільки типи, але й значення аргументів. В цьому випадку під час виклику функції кількість переданих їй аргументів може бути менше кількості оголошених параметрів. Значення недостаючих аргументів вибираються із списку оголошення за замовчуванням.

Наприклад, будемо виводити на екран рядки, які містять певну кількість заданих символів:

int main()

{ writechar('*', 10);

writechar('+', 10);

writechar('=', 5);

system("pause");

}

Для реалізації виведення заданого символу певну кількість разів оголосимо функцію writechar() наступного виду:

void writechar(char ch, int n)

{ for (int i=1;i<=n;i++)

cout<<ch;

cout<<endl;

}

Отримаємо наступний результат:

 

Дану функцію можна оголосити з аргументами за замовчуванням, задавши їх значення при визначенні функції:

void writechar(char ch='*', int n=10)

{ for (int i=1;i<=n;i++)

cout<<ch;

cout<<endl;

}

або у прототипі функції:

void writechar(char ='*',int =10); //прототип функції )

void writechar(char ch, int n) //визначення функції

{ for (int i=1;i<=n;i++)

cout<<ch;

cout<<endl;

}

Тоді в результаті виконання наступних викликів даної функції з різними списками аргументів

int main()

{ writechar();

writechar('+');

writechar('=', 5);

writechar(65);

system("pause");

}

отримаємо на екрані:

Під час першого виклику функція не має аргументів: їх значення визначаються з оголошення прототипу. На екрані з’явиться рядок з 10 символів '*'. Другий виклик функції передає їй тільки один аргумент — значення символу. Значення другого аргументу визначається за замовчуванням з визначення функції. На екран виведеться рядок з 10 символів '+'. Третій виклик функції здійснюється із явною передачею значень двох аргументів, тому на екрані буде рядок з 5 символів '='. Під час четвертого виклику функції їй передається числовий параметр, який компілятор вважає кодом символу, що виводитиметься. Кількість цих символів визначається за замовчуванням.

Отже, якщо під час виклику функції кількість переданих їй аргументів менше кількості оголошених у прототипі чи функції, то компілятор вважає, що відсутні останні за списком аргументи. Їх значення вибираються із списку оголошення за замовчуванням.

 


Поделиться:

Дата добавления: 2015-08-05; просмотров: 72; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты