Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.07;
Скачать: CL | DM;

Вниз

перегрузка   Найти похожие ветки 

 
Minog   (2003-03-26 13:11) [0]

Что такое перегрузка(overloading) и зачем она нужна?


 
MBo ©   (2003-03-26 13:21) [1]

может быть несколько процедур или функций с одинаковым именем, но разным списком параметров, если они описаны с модификатором overload.

function ConvertToString(Value:Integer):String;overload;
function ConvertToString(Value:Double):String;overload;

компилятор по типу параметров разбирается, вызовкакой именно функции подставить

var i:integer;
s:=ConvertToString(i);
используется первая функция


 
malkolinge ©   (2003-03-26 18:05) [2]

Кстати есть еще и неправильная перегрузка
Например :
function ConvertToString(Value:Integer):String;overload;
function ConvertToString(Value:byte):String;overload;
Компилятор не сможет узнать какую функцию вызвать при вызове , например
ConvertToString(3)




 
Anatoly Podgoretsky ©   (2003-03-26 18:10) [3]

Задача программиста не допускать одназначности - ConvertToString(Byte(3)), но ты уверен, что будет проблема?


 
malkolinge ©   (2003-03-26 18:19) [4]

Щас попробу......Пробую
Код
procedure TForm1.Button1Click(Sender: TObject);

function F(g:Integer):String;overload;
begin
Result:="Integer";
end;
function F(g:byte):String;overload;
begin
Result:="byte"
end;

begin
Showmessage(F(567));
end;


При вызове F c параметром до 255 выводиться byte дальше для Integer.

Т.е повод для флейма, может это хорошо а может и нет, с одной стороный мы знаем, что вызовется а другой вроде как нет
F(Round(Sqr(32)-size+param*5 )) - ^)))))



 
Anatoly Podgoretsky ©   (2003-03-26 18:23) [5]

Отсюда вывод, что это от лукавого, требуется осмотрительность, а если модуль чужой и плохо документирован.


 
malkolinge ©   (2003-03-26 18:28) [6]

В общем насколько я помню, правила хорошего тона говорят о том, что так делать нельзя



Страницы: 1 вся ветка

Текущий архив: 2003.04.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
14-19799
kingdom
2003-03-19 11:18
2003.04.07
Рассылка сайта Мастера - Spam?


6-19720
Chlavik
2003-02-08 01:21
2003.04.07
RAs


14-19844
cyborg
2003-03-20 22:40
2003.04.07
Хакнули


14-19791
NetBreaker666
2003-03-17 23:53
2003.04.07
Почему не работает ???


14-19777
panov
2003-03-17 02:10
2003.04.07
уф... заканчивается подготовка к отъезду...