- Инкапсуляция и расширяемость типов
- Наследование
- Полиморфизм
- Перегрузка
- Виртуальные функции
- Статические члены класса
- Шаблоны функций
- Шаблоны классов
- Абстрактные классы
Перегрузка
В пределах одного класса можно определить два или более методов, которые совместно используют одно и тоже имя, но имеют разное количество параметров. Когда это имеет место, методы называются перегруженными, а о процессе говорят как о перегрузке метода. Перегрузка метода – один из способов, с помощью которых реализуется полиморфизм. Перегрузка методов в классах производится по тем же правилам, что и перегрузка функций.
Если для вызываемой функции нет точного соответствия, то компилятор производит поиск подходящей функции по трем уровням последовательно:
- поиск среди методов класса;
- поиск среди методов базовых классов, последовательно от ближайшего предка до самого первого;
- поиск среди остальных функций.
Если точного соответствия ни на одном уровне не найдено, но найдено несколько подходящих функций на разных уровнях, то используется функция, найденная на наименьшем уровне. В пределах одного уровня не может быть более одной подходящей функции.
Смотри также