Ad-hoc, включение, параметрические и принудительные полиморфизмы

Опубликовано: 2 Декабря, 2021

Когда мы говорим о полиморфизме в C ++, мы слышим следующие четыре типа:

Обсуждая их подробно:

  1. Специальный полиморфизм , также называемый перегрузкой

    Специальный полиморфизм позволяет функциям с одним и тем же именем действовать по-разному для разных типов. Например:
    Оператор + складывает два целых числа и объединяет две строки.

    Приведенный выше пример можно было бы лучше проиллюстрировать, вызвав функцию «sum ()» в нижеупомянутом коде:

    #include <iostream>
    using namespace std;
    int sum( int x, int y)
    {
    int c = x + y;
    return c;
    }
    string sum( const char * x, const char * y)
    {
    string summation(x);
    summation += y;
    return summation;
    }
    int main()
    {
    cout << sum(50, 20)
    << " :- Integer addition Output " ;
    cout << sum( "Polymorphism" , " achieved" )
    << " :- String Concatenation Output " ;
    }
    Выход:

    70: - Выход целочисленного сложения
    Достигнутый полиморфизм: - Вывод конкатенации строк