НАСКОЛЬКО МНЕ ИЗВЕСТНО:
C++ предоставляет три различных типа полиморфизма.
- Виртуальные функции
- Перегрузка имени функции
- Перегрузка оператора
В дополнение к вышеупомянутым трем типам полиморфизма существуют и другие виды полиморфизма:
- время выполнения
- время компиляции
- специальный полиморфизм
- параметрический полиморфизм
Я знаю, что полиморфизм во время выполнения может быть достигнут с помощью виртуальных функций, а статический полиморфизм - с помощью шаблонных функций.
Но для двух других
- специальный полиморфизм
- параметрический полиморфизм веб-сайт говорит,
специальный полиморфизм:
Если диапазон фактических типов, которые могут быть использованы, является конечным, и комбинации должны быть индивидуально определены перед использованием, это называется специальным полиморфизмом.
параметрический полиморфизм:
Если весь код написан без упоминания какого-либо конкретного типа и, таким образом, может использоваться прозрачно с любым количеством новых типов, это называется параметрическим полиморфизмом.
Я едва могу понять их :(
Может ли кто-нибудь объяснить им обоим, если это возможно, на примере? Я надеюсь, что ответы на эти вопросы будут полезны для многих новых отрывков из их колледжей.