double arrow

Функции, возвращающие результат по значению


Виды функций

В С++ существует два вида функций:

функции, возвращающие результат по значению,

функции, возвращающие результат по ссылке.

Характерной особенностью функций, возвращающих результат по значению, состоит в том, что результатом их работы является значение одной простой переменной (число или символ).

Синтаксис заголовков таких функций следующий:

mип имя( тип1 имя1, тип2 имя2, …, тип N имяN )

Здесь тип – имя типа переменной, являющейся результатом работы функции.

Имя – имя функции.

тип1 имя1, тип2 имя2, …, тип N имяN – список параметров.

Этот список составляется из всех входных данных по правилу: имя типа данного потом имя самого данного. Данные, представленные в этом списке, имеют статус локальных и в теле функции не описываются, так как запись их в списке параметров уже является описанием.

Список параметров представляется абстрактными (формальными) данными, за которыми не стоят какие–либо конкретные значения. В теле функции показываются операции над этими данными, которые будут выполняться в случае, если вместо этих абстрактных данных будут переданы в функцию реальные данные, имеющие свои конкретные значения, то есть фактические данные. Чтобы понять смысл этого можно обратиться к известной формуле по вычислению корней квадратного уравнения




В формуле используются три абстрактных коэффициента a, b и c – формальные данные. Формула показывает, как эти коэффициенты будут использоваться, если в нее подставить значения этих коэффициентов. Пока конкретных значений нет, формула ничего не вычисляет. Только при подстановке значений коэффициентов (фактические данные) будут вычислены значения корней.

Вывод результата работы функции за ее пределы осуществляется с помощью оператора возврата return, который записывается в конце тела функции. Все, что будет записано после него, обрабатываться не будет. Синтаксис этого оператор имеет вид:

return результат;

Результат – это число или имя данного, чье значение является результатом функции, или выражение, значение которого и есть результат функции. Например:

return 15.7;

return S;

return a*b;

return true;

Примером такой функции может быть функция, решающая локальную задачу определения наибольшего числа из двух чисел a и b. Алгоритм этой задачи следующий:

float max (float a, float b)

{

float c;

_

+ if (a > b) c = a;

else c = b;

return c;

}

В этой функции роль входных данных играют переменные a и b. Они и описаны в списке параметров, в теле функции их описание не повторяется. Результатом работы функции является значение переменной с . Эта переменная описана в теле функции и выводится с помощью оператора возврата return c; . Поскольку результатом является значение переменной с, а ее тип описан как float, то и тип результата функции в ее заголовке представлен типом float.







Сейчас читают про: