![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 25.12.2013
Сообщений: 91
|
![]()
Вопрос больше к практикам:
Как часто вам приходится использовать перегруженные функции при написании своих программ? И вообще - в каких случаях в основном вы их применяете? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,368
|
![]() |
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() Цитата:
2. Есть одно и тоже по смыслу действие. Но в зависимости от аргументов, алгоритм действий должен быть другим. Смысл перегрузки - свести к минимуму количество имен функций, которые нужно знать, и помнить, что бы выполнять одни и те же по смыслу действия. Пример1: Код:
Разумеется это делается не вручную, а при помощи шаблонной магии. Тем не менее, по итогу получается многочисленная перегрузка функций под разные типы. Пример2 Иногда нужно отправить сообщения объектам классов из любой точки программы: Код:
Если они есть у получателей - дергает их. Если нет... ну значит не дергает. Смысл в том, что система сообщений не телепат и не знает кому она будет отправлять сообщения. Она ничего не знает о классах example1 и example2. Но что бы доставить сообщения, ей нужно знать, какую функцию дернуть передавая посылку. Поэтому, понадобилось заранее известное имя функции, которую нужно дергать что бы передать сообщение. Поэтому, что бы один и тот же класс мог получать разные посылки - ему нужно перегружать функцию с четко определенным именем readmessage Последний раз редактировалось _Bers; 08.09.2014 в 01:56. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перегруженные методы, функции DELPHI 7 | iCaesy | Помощь студентам | 1 | 03.10.2011 21:02 |
Перегруженные методы, функции DELPHI 7 | iCaesy | Помощь студентам | 4 | 25.09.2011 19:02 |
Вопрос к специалистам | Mutagena | Общие вопросы Delphi | 3 | 28.11.2009 22:43 |