Оглавление:
Определение - Что означает специальный полиморфизм?
Специальный полиморфизм относится к полиморфным функциям, которые могут применяться к различным типам аргументов, известных под одним и тем же именем в языке программирования. Специальный полиморфизм также известен как перегрузка функций или перегрузка операторов, потому что полиморфная функция может представлять ряд уникальных и потенциально гетерогенных реализаций в зависимости от типа аргумента, к которому она применяется.
Техопедия объясняет специальный полиморфизм
Специальный полиморфизм определяет операторы, которые могут использоваться для различных типов аргументов. Это следует за механизмом диспетчеризации, в котором управление, перемещающееся из одной именованной функции, отправляется нескольким другим функциям без указания вызываемой функции. Эта перегрузка функций позволяет нескольким функциям с разными типами аргументов быть известными под тем же именем, что и компилятор, и интерпретатор вызывает нужную функцию. Например, в следующем коде:
int a, b;
плавать х, у;
printf («% d% f», a + b, x + y); Символ «+» используется двумя различными способами. В выражении a + b оно обозначает функцию, которая добавляет два целых числа. В выражении x + y оно обозначает функцию, которая добавляет два числа с плавающей точкой. Таким образом, специальный полиморфизм относится к использованию одного имени функции для обозначения двух или более уникальных функций. Компилятор решает, какую функцию вызывать, в зависимости от типа аргументов.
Специальный полиморфизм поддерживается почти всеми языками программирования для встроенных операций, таких как «+», «-», «*» и т. Д.
