Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_Cpp.doc
Скачиваний:
6
Добавлен:
20.11.2019
Размер:
603.14 Кб
Скачать

4. Функции, определяемые пользователем

  • Функция в С++ - это часть кода с собственным именем, который можно вставлять в программу и обращаться к нему по мере необходимости.

Любая программа на С++ состоит из функций, одна из которых обязательно называется main. Функции в С++ - это аналог процедур в Pascal или подпрограмм в FORTRAN. Если рассматривать программу большого объема как сложную систему, то функция – это реализация принципа модульности, который помогает повысить надежность системы. Модуль представляет собой логически завершенную часть программы, ????? Модуль следует рассматривать как некий «черный ящик»: информация на входе – информация на выходе. Таким образом, пользователь может не знать устройства модуля, но успешно им пользоваться. Соответственно, разные по внутреннему устройству модули могут выполнять одинаковые действия, следовательно, такие модули будут взаимозаменяемы. Такой подход позволяет упростить процесс разработки и отладки программы, а также дает возможность использовать модули, разработанные другими программистами.

4.1. Объявление и определение функции

Как уже упоминалось в разделе 1.6, функция может принимать параметры и возвращать значения. Функция должна быть объявлена и определена. В объявлении функции (или прототипе) указывается

  • тип возвращаемого значения,

  • имя функции,

  • список передаваемых параметров.

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

// нахождение максимального из двух чисел.

int max(int a, int b){

int t;

if(a>b)

t=a;

else

t=b;

return t;

}

Первая строка функции – заголовок, который указывает, что в функцию с именем max передаются два целочисленных параметра a и b, а в вызывающую программу возвращается целочисленное значение с помощью оператора return .

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

#include <iostream.h>

Int max(int , int ); // в прототипе достаточно указать только тип и

// количество аргументов!

Void main() {

int n, m, l;

cout<< “vvedite n, m”;

cin>>n>>m;

l = max(n,m); // вызов функции и присвоение значения переменной l

cout<< “max = “<<l<<endl;

}

  • Помните! В прототипе, объявлении и вызове функции типы и порядок следования параметров должны совпадать. Параметры, указанные в заголовке функции принято называть формальными, а параметры, перечисленные при вызове функции - фактическими.

Где следует размещать определение функции max ? Возможны варианты:

  • после функции main

  • в отдельном файле, который следует добавить в проект.

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

Функция max имела параметры, с помощью которых обменивалась данными с вызывающей функцией. Однако функция может не иметь параметров, как в следующем примере.

//Функция без параметров возвращает случайное целое от 1 до 6

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]