При объявлении функций в языке C++ имеется возможность задать значения параметров по умолчанию:
double ехр (double x, unsigned int e = 2)
{
double result = 1;
for (unsigned int i = 0; i < e; i++)
result *= x;
return result;
}
int main ()
{
double y = ехр (3.14); // 3.14 в квадрате
double x = ехр (2.9, 5); // 2.9 в пятой степени
...
}
Значение параметра по умолчанию задается либо в прототипе, либо в заголовке функции, но не в обеих этих конструкциях одновременно.
Необязательных параметров может быть несколько. Если в функции имеется необязательный параметр, то либо он должен быть последним в списке формальных параметров, либо все формальные параметры после него должны также иметь значение по умолчанию (то есть ни один обязательный параметр не должен следовать за необязательным). Если у функции несколько необязательных параметров и при вызове указано меньше значений, чем в полном списке ее параметров, используются значения по умолчанию для необязательных параметров, причем порядок применения этих значений – справа налево (то есть с конца списка).