itmo.ru aco.ifmo.ru c-visionlab.ru
вернуться в оглавление предыдущая глава предыдущий параграф следующий параграф следующая глава


6. Полиморфизм

Полиморфизм – это возможность принимать множество форм, иметь разный смысл в зависимости от ситуации.

Полиморфизм в языке С++ позволяет программисту:

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

6.1 Перегрузка функций

6.1.1. Перегрузка функций
6.1.2. Преобразование типов
6.1.3. Параметры функций по умолчанию

6.2 Перегрузка операторов

6.2.1. Пример 6.1 (класс Complex (комплексное число))
6.2.2. Перегрузка бинарных операторов
6.2.3. Перегрузка унарных операторов
6.2.4. Перегрузка логических операторов
6.2.5. Перегрузка оператора присваивания
6.2.6. Перегрузка операторов с присваиванием
6.2.7. Перегрузка преобразования типов
6.2.8. Перегрузка оператора доступа по индексу
6.2.9. Перегрузка операторов ввода/вывода
6.2.10. Неперегружаемые операторы

6.3 Шаблоны функций и классов

6.3.1. Шаблоны функций. Пример 6.2 (шаблон функции)
6.3.2. Шаблоны функций с несколькими параметрами. Пример 6.3 (шаблон функции с несколькими параметрами)
6.3.3. Шаблоны классов. Пример 6.4 (шаблон класса Комплексное число)

6.4 Объекты-функции. Предикаты

6.4.1. Объекты-функции. Пример 6.5 (использование объектов-функций)
6.4.2. Предикаты. Пример 6.6 (использование предикатов)