Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.04.07;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
1-19587
msoftware
2003-03-27 03:35
2003.04.07
FileStream не сохраняет обновленный файл


3-19510
Наташа
2003-03-17 08:51
2003.04.07
Типы в IB


3-19413
Tornado
2003-03-20 13:54
2003.04.07
Помогите с обновлением записей


7-19908
OxOTHuK
2003-02-12 07:17
2003.04.07
Флоп, логич диск или СD


3-19453
Кирк
2003-03-18 16:38
2003.04.07
проблема с ODBC





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский