Перегрузка функций и процедур в C++

Перегрузка функций в C++Всем привет! Свершилось чудо! Наконец-то руки дошли до написания статьи в раздел «Программирование». Сегодня я решил немного рассказать о перегрузке функций. Идея пришла как раз во время использования этой самой перегрузки в одной из своих программ.

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

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

Для чего нужна перегрузка функций?

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

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

Как видите, в первом случае функция принимает параметры целочисленного типа, во втором — double.

Вызов перегруженных функций

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

Предположим, мы передаём значения 2 и 4, затем 3.3 и 2.5:

В первой строке вызывается первый вариант функции, так как 2 и 4 — значения типа int. Соответственно, во второй строке — второй вариант.

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

One Reply to “Перегрузка функций и процедур в C++”

  1. Арсений
    http://telgen.ru/ru/uncategorized/termoelektricheskaya-sborka-shkafnyj-konditsioner-pelte/
    :

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *