Формальные и фактические параметры функции
l Формальные параметры - это переменные, которые принимают значения, переданные функции от функционального вызова. Формальные параметры объявляются в списке параметров в начале описания функции. Список параметров определяет имена параметров и порядок, в котором они принимают значения при вызове функции.
l Формальные параметры – входные и выходные. Входные – те, которые должны быть известны для вычислений в функции. Выходные – результаты.
l Список параметров состоит из нуля или более идентификаторов, разделенных запятой. Список должен быть ограничен круглыми скобками даже в случае, когда он пуст.
l Аргументы, задаваемые при вызове функции, называются фактическими параметрами. Список фактических параметров, как правило, должен в точности соответствовать списку формальных параметров, хотя в C++ возможны исключения.
int add (int x, int y)
{
return (x+y);
}
// Формальные параметры – x и y.
void main()
{
int a = 2;
int b = 3;
cout << add (5*a,
4*b);
}
// Фактические параметры – выражения 5*a и 4*b.
Вопрос 19. Функция с параметрами по умолчанию. Привести пример определения и вызова такой функции в С/C++.
В C++ разрешается задавать значение параметров по умолчанию. Синтаксис присвоения значения по умолчанию выглядит следующим образом:
тип имя = выражение
Параметры со значениями по умолчанию должны объявляться последними (крайними правыми) параметрами в списке. При вызове функции такие параметры можно не указывать - используется значение, заданное по умолчанию.
Пример функции
void repch (char ch = '-', int k = 60)
{ for (int i = 0; i < k; ++i) cout << ch; }
C++ разрешает такие вызовы этой функции:
repch (); // выводится 60 минусов
repch ('+'); // выводится 60 плюсов
repch ('=', 52); // выводится 52 равно
Вызов функции с параметрами по умолчанию считается корректным, если не указываются самые правые параметры. Язык C++ запрещает писать вызовы с пропущенными первыми и заданными последними параметрами.
Вызов repch (,54); писать нельзя.
Вызов repch (54); приведет к выводу на экран 60 шестерок.
Не нашли, что искали? Воспользуйтесь поиском:
|