Автор: Пьянков Денис ИТП-3-08 |
|
В С++ для того, чтобы упростить вызов функции с наиболее часто используемыми входными значениями, в заголовке функции используются параметры по умолчанию. Параметр по умолчанию – это значение, которое используется в качестве аргумента функции, если при вызове функции аргумент не указан. Для задания в функции параметра по умолчанию, надо в заголовке функции объявить формальный параметр с начальным значением. Функция может иметь несколько параметров умолчания, но они должны находиться в конце списка формальных параметров. Пример программы, в которой используется функция поиска позиции первого вхождения заданного числа в массив, начиная с некоторой начальной позиции. Так как наиболее часто требуется найти первое вхождение заданного числа в массив, то в заголовке функции используется параметр умолчания, задающий значение начальной позиции поиска вхождения равное нулю. #include <iostream.h> #include <conio.h> //Функция поиска первого вхождения значения х в массив из //n целых чисел начиная с позиции p int pos (int a[], int n, int x, int p = 0); void main() { int a[100], n, x, p; int number; //номер первого числа массива со значением х (или -1) cout « "n? "; cin » n; cout « "a: "; for (int i = 0; i < n; ++i) { cin » a[i]; } cout « "x? "; cin » x; number = pos(b, n, x); //по умолчанию поиск начинается с 0-позиции if (number == -1) { cout « "No" « endl; } else { cout « "number_0 = " « number << endl; } number = pos(b, n, x, 3); // поиск начинается с 3-позиции if (number == -1) { cout « "No" « endl; } else { cout « "number_3 = " « number; } getch(); } int pos(int a[], int n, int x, int p) { for(int i = p; i < n; i++) { if(a[i] == x) { return i; //возврат номера элемента } } return -1; //возврат признака отсутствия вхождения элемента } Тесты:
В программе функция pos вызывалась два раза: первый раз с 3 аргументами (использовалось значение умолчания), второй – с 4 аргументами. Ограничения на использование параметров по умолчанию:
|