9.1.1. Зачем нужно перегружать имя функции
9.1.1. Зачем нужно перегружать имя функции
Как и в случае со встроенной операцией сложения, нам может понадобиться набор функций, выполняющих одно и то же действие, но над параметрами различных типов. Предположим, что мы хотим определить функции, возвращающие наибольшее из переданных значений параметров. Если бы не было перегрузки, пришлось бы каждой такой функции присвоить уникальное имя. Например, семейство функций max() могло бы выглядеть следующим образом:
int i_max( int, int );
int vi_max( const vectorint );
int matrix_max( const matrix );
Однако все они делают одно и то же: возвращают наибольшее из значений параметров. С точки зрения пользователя, здесь лишь одна операция – вычисление максимума, а детали ее реализации большого интереса не представляют.
Отмеченная лексическая сложность отражает ограничение программной среды: всякое имя, встречающееся в одной и той же области видимости, должно относиться к уникальной сущности (объекту, функции, классу и т.д.). Такое ограничение на практике создает определенные неудобства, поскольку программист должен помнить или каким-то образом отыскивать все имена. Перегрузка функций помогает справиться с этой проблемой.
Применяя перегрузку, программист может написать примерно так:
int ix = max( j, k );
vectorint vec;
//...
int iy = max( vec );
Этот подход оказывается чрезвычайно полезным во многих ситуациях.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Зачем нужно no–local–pass
Зачем нужно no–local–pass Этот параметр при конфигурировании юнита был сделан для того, чтобы предотвратить ненужную маркировку пакета как «локального», если по замыслу он таковым не является. Рассмотрим случай, когда у вас есть некая локальная сеть с непрерывным диапазоном
О чем писать не нужно
О чем писать не нужно Не следует искажать данные: умышленно указывать больший опыт работы, сильно преувеличивать свои возможности, кривить душой относительно образования. Тайное, как правило, становится явным. В итоге и вы, и работодатель просто впустую потеряете
17.4.1 Зачем вообще нужно компилировать ядро?
17.4.1 Зачем вообще нужно компилировать ядро? Как было сказано в начале данного раздела, основная функция ядра состоит в том, чтобы обеспечить взаимодействие с аппаратурой компьютера. Обслуживание некоторых составляющих аппаратного обеспечения (таких, как память,
Что нужно друзьям?
Что нужно друзьям? Почему люди становятся фанатами вашей корпоративной страницы? Мотивация может быть совершенно разной.Ваша компания (продукт) уже обладает большим числом клиентов или сильным брендом (торговой маркой). Такие бренды, как Coca-Cola, Beeline, «Аэрофлот», Сбербанк,
9.1.3. Когда не надо перегружать имя функции
9.1.3. Когда не надо перегружать имя функции В каких случаях перегрузка имени не дает преимуществ? Например, тогда, когда присвоение функциям разных имен облегчает чтение программы. Вот несколько примеров. Следующие функции оперируют одним и тем же абстрактным типом
12.1. Что нужно для записи CD и DVD?
12.1. Что нужно для записи CD и DVD? Что же необходимо для комфортной записи CD и DVD? Давайте подумаем вместе.? Компьютер — это само собой разумеется. С одной стороны, ультрасовременный компьютер никогда не помешает, а с другой — CD и даже DVD можно записывать далеко не на самых
Что нужно знать
Что нужно знать Желательно, чтобы читатель знал, как зарегистрироваться в системе, перейти в другой каталог и отредактировать файл в текстовом редакторе.Чтобы запускать CGI–сценарии из главы 29, нужно располагать инсталлированным Web–сервером и иметь право выполнять
Что нужно для подключения?
Что нужно для подключения? Для подключения по технологии ADSL нужен ADSL-модем. Модем — устройство, связывающее компьютер с линией передачи данных.К телефонной линии модем подключают через сплиттер, иначе он будет создавать помехи телефону. Сплиттер, патчкорд и телефонные
14.1. Что нужно для записи CD и DVD?
14.1. Что нужно для записи CD и DVD? Что же необходимо для комфортной записи CD и DVD? Давайте подумаем вместе.? Компьютер — это само собой разумеется. С одной стороны, ультрасовременный компьютер никогда не помешает, а с другой, CD и даже DVD можно записывать далеко не на самых мощных
Волк и Чёрная Шапочка: нужно ли спасать Науку, и если нужно, то как? Василий Щепетнёв
Волк и Чёрная Шапочка: нужно ли спасать Науку, и если нужно, то как? Василий Щепетнёв Опубликовано 06 октября 2013 Найдя на дне реки Москвы глиняный кувшин, запечатанный таинственной печатью, пионер Костыльков размечтался. Вот сдаст он сегодня этот