Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Функции в языке программирования C++

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

Теперь расскажем о том, из каких основных частей состоит функция в C++.

Самая первая часть — это тип возвращаемого значения. Данный тип показывает, что конкретно функция будет передавать в основную программу после всех своих внутренних преобразований. К примеру, функция может возвращать целочисленный тип int, тип double (число с дробной частью), float (число с плавающей точкой), string или char* (строку символов), char (один символ).

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

Следующая часть функции — это ее название. Оно должно быть прописано латинскими буквами без пробелов. Желательно, чтобы название максимально соответствовало той задаче, которую решает функция. К примеру, если она находит сумму двух чисел, то можно назвать ее Sum, если выводит какое-то сообщение, то можно назвать ее PrintMessage. Это позволит лучше ориентироваться в коде.

После названия в скобках указываются принимаемые аргументы. Аргументами могут быть переменные, константы, объекты классов и другие типы данных. Именно с передаваемыми аргументами функция и будет работать. В принципе, аргументов может быть довольно много. Для каждого аргумента должен быть указан его тип, а также название. Отделение аргументов друг от друга осуществляется при помощи запятой.

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

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

int Sum(int chislo1, int chislo2)
{
    return chislo1 + chislo2;
}

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

Результат этого сложения будет возвращаться из функции при помощи специального оператора return. Можно было сделать чуть сложнее и нагляднее, создав внутри тела еще одну переменную, к примеру, «A». Затем результат сложения аргументов мы бы присвоили переменной «A» и вернули ее значение при помощи return.

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

void PrintMessage()
{
    cout << «this is a text message»;
}

Как мы видим, тип возвращаемого значения здесь — void, а аргументов в скобках нет. В теле нет оператора return, а есть только текстовое сообщение, которое при вызове функции в теле основной программы будет выводиться на консоль. Все довольно просто.

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

Автор: TRI_D, специально для xBB.uz, 18.11.2014


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2014-11-18 05:43:40

Метки материала: язык программирования c++, функции, язык программирования, c++, функции и процедуры, программы, определение функции, программирование, язык

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.