Определение объекта типа функции

Напомним, что

объект – это область памяти, которая имеет имя.

Каждый объект характеризуется своим типом. Когда задается тип объекта, системе сообщается:

  • Размер объекта (система знает, сколько байт выделить под этот объект);
  • Способ кодировки информации в этой области памяти;
  • Какие действия можно делать над информацией, записанной в этой области памяти и как их делать.

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

Функция – это имя типа объекта. Но объекты типа функция обычно называют просто функциями.

Для того, чтобы в программе можно было работать с объектом, его надо физически создать, т.е. программист на языке С++ должен дать указание на его создание – на выделение памяти требуемого размера и нужной кодировки. Выделенной памяти должно быть присвоено имя. В этом случае говорят, надо определить (defined)объект.Определить объект можно только один раз!!!!!!!! Объект, который определен, одновременно и описан (declared).

Итак, определение объекта типа функция состоит из заголовка функции и тела функции.

Вот как синтаксически выглядит определение функции:

тип_возвращаемого_значения имя_объекта_функции (список_формальных_параметров )

{

/* Это тело функции. Здесь пишутся инструкции, которые определяют объекты, создаваемые внутри функции – локальные объекты.

Здесь пишутся инструкции, задающие действия над этими объектами — алгоритм работы функции

*/

}

Заголовок функции это:

тип_возвращаемого_значения имя_объекта_функции (список_формальных_параметров )

Заголовок функции задает, каким образом организован обмен данными между ней и вызвавшей ее объектом–функцией. То есть заголовок определяет, какие данные и как функция получает от функции, вызвавшей ее, а также какие результаты своей работы функция возвращает и как она их возвращает в точку ее вызова.

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

{

/* Это тело функции. Здесь пишутся инструкции, которые определяют объекты, создаваемые внутри функции – локальные объекты.

Здесь пишутся инструкции, задающие действия над этими объектами -алгоритм работы функции

*/

}

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

Для того, чтобы уметь правильно с этим объектом работать, когда его по каким либо причинам «не видно» (например тело функции определено не в том файле из которого его вызывают).

Как выглядит инструкция описания функции?

Описание функции – это точная копия заголовка функции, после которого стоит точка с запятой (ведь это инструкция!):

тип_возвращаемого_значения имя_объекта_функции (список_формальных_параметров ) ;

Для инструкции описания функции есть специальное название – прототип (prototype).

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

В примере тела функции показано, как записать в программе на языке С++ много строковый комментарий. В комментарии можно дать нужные пояснения к всей программе, ее частям – функциям или к отдельным инструкциям. Комментарии системой не воспринимается как распознаваемый текст. Этот текст только для чтения программистом:

/* это много

строковый

комментарий */

Комментарий, который занимает одну строку, можно создать так:

// это комментарий в одну строку

В комментарии можно использовать любые символы.

Главная функция в СИ++ как точка входа в программу.

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

Такой функцией всегда будет функция, которая имеет имя main:

// тип_возвращаемого_значения имя_объекта_функции(список_формальных_параметров )

void main ( void )

{

Рандомно подобранные статьи с сайта:

Соционика: Информация. Функции. Аспекты.


Похожие статьи:

admin