Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры программирование.doc
Скачиваний:
7
Добавлен:
17.04.2019
Размер:
257.54 Кб
Скачать
  1. Передача параметров в функцию и вызов функции.

1. Вызов функции.

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

В этой программе инструкция float myfunc (float a, float b, int с); — прототип функции myfunc().

Прототип функции объявляет функцию до ее определения. Прототип позволяет компилятору узнать тип значения, возвращаемого этой функцией, а также количество и тип параметров, которые она может иметь. Компилятору нужно знать эту информацию до первого вызова функции. Поэтому прототип располагается до функции main(). Единственной функцией, которая не требует прототипа, является main(), поскольку она встроена в язык C++.

В C++ функции, не возвращающие значений, объяв¬ляются с использованием ключевого слова void.

2. О аргументах и параметрах

Функции можно передать одно или несколько значений. Значение, передава¬емое функции, называется аргументом. Т.о., аргументы представляют собой средство передачи инициализации в функцию.

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

Рассмотрим пример опре¬деления функции box с тремя параметрами, которая вычисляет объем параллелепипеда и отображает полученный результат.

void box(int length, int width, int height)

{

cout << "Объем параллелепипеда равен" << length*width*height << "\n";

}

В общем случае при каждом вызове функции box будет вычислен объем параллелепипеда путем умножения значений, переданных ее параметрам leng¬th, width и height.

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

При вызове функции необходимо указать три аргумента. Например:

box(7,20,4);

box (50,3,2};

Каждый из аргументов копируется в соответствующий параметр. Так, при первом вызове функции box() число 7 копируется в параметр length, 20 –в параметр width, a 4 — в параметр height.

Использование функции box демонстрируется в следующей программе .

//Программа демонстрации использования функции box

#include <iostream>

void box(int length, int width, int height);// Прототип

//функции box

int main()

{

box(7, 20, 4); // Передача аргументов функции box

box (50, 3, 2);

box (8, 6, 9);

return 0;

}

// Вычисление объема параллелепипеда.

void box(int length, int width, int height) /*Параметры принимают значения аргумен¬тов, переданных функции box*/

{

cout << "Объем параллелепипеда равен "

<< length * width * height << "\n"; }

При выполнении программа генерирует такие результаты.

Объем параллелепипеда равен 560

Объем параллелепипеда равен 300

Объем параллелепипеда равен 432

Примечание.

Термин аргумент относится к значению, которое ис¬пользуется при вызове функции.

Переменная, которая принимает значение аргумента, называется параметром. Функции, принимающие аргументы, называются параметризованными