Определение функций в программе

Любая функция состоит из двух основных элементов: заголовка и тела функции.

Заголовок функции имеет следующий формат:

 

<Тип возвращаемого значения> <Идентификатор – имя функции> (<Параметры>)

 

Тело функции представляет собой блок инструкций языка программирования, разделенных символами “точка с запятой”:

 

{

<Инструкция 1>;

<Инструкция 2>;

………………….

<Инструкция N>;

}

 

Например:

 

Double Example (double d, int k)

{

Double r;

r = d * k;

Return r;

}

 

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

Функция может возвращать одно, сформированное внутри функции, значение через свое имя. Тип данных этого значения определяется элементом заголовка <Тип возвращаемого значения>. Тип возвращаемого значения может быть любым, за исключением типа массива (но указателем он может быть).

Не все функции должны возвращать значения. В этом случае <Тип возвращаемого значения>задается ключевым словом void, которое означает – “пусто” – возвращаемое значение отсутствует:

 

Void ErrMessage (int N)

{

cout << “\nВнимание! Ошибка номер ” << N << “\n\n”;

}

 

Завершение работы функции (инструкция return)

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

 

Void Proc ()

{

……..

If ( Ошибка )

Return;

……..

cout << “\nНормальное завершение функции\n ” ;

}

 

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

Таким образом, инструкция return приводит к немедленному завершению работы функции.

В одной и той же функции могут быть использованы несколько инструкций return.

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

 

Double Calc(double Op1, double Op2, char Oper)

{

Switch (Oper)

{

case '+': return Op1 + Op2;

case '-': return Op1 - Op2;

case '/':

if (!Op2)

return Op1 / Op2;

Else

{

cout << "Деление на 0!\n";

Return 0;

}

case '*': return Op1 * Op2;

default:

{

cout << "Неверная операция!\n";

Return 0;

}

}

}

Значение, которое возвращает инструкция return, по типу должно соответствовать типу возвращаемого функцией значения.








Дата добавления: 2019-02-07; просмотров: 222;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.