|
Автор: Пьянков Денис ИТП-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 аргументами. Ограничения на использование параметров по умолчанию:
|