PDA

View Full Version : سوال: می شه یه چند تا تابع تعریف کنیم که تابع ها هم نام



kamran_14
جمعه 05 فروردین 1390, 14:59 عصر
سلام
ببخشید
می شه یه چند تا تابع تعریف کنیم که تابع ها هم نام و پارامترها یکی و فقط اندیس هاشون متفاوت باشه در واقع تابع آریه باشه؟

Felony
جمعه 05 فروردین 1390, 16:52 عصر
اگر سوالتون رو درست متوجه شده باشم با Overloading میتونید این عملیات رو پیاده کنید ، همین عبارت Overload رو جست و جو کنید .

SAASTN
شنبه 06 فروردین 1390, 00:13 صبح
سلام
ببخشید
می شه یه چند تا تابع تعریف کنیم که تابع ها هم نام و پارامترها یکی و فقط اندیس هاشون متفاوت باشه در واقع تابع آریه باشه؟
برای Overloading پارامترها باید متفاوت باشند.
شما خودتون می تونید به نحو دیگه ای همچین کاری رو پیاده سازی کنید:
function Func1(a: Integer; b: Double): Integer;
begin
//
end;

function Func2(a: Integer; b: Double): Integer;
begin
//
end;

// ...

function FuncIndexed(Index: Integer; a: Integer; b: Double): Integer;
begin
case Index of
1: Result := Func1(a, b);
2: Result := Func2(a, b);
// ...
end;
end;

که به این ترتیب توی برنامتون همیشه فقط FuncIndexed رو با اندیس مدنظر فراخونی می کنید. البته همچین کاری به نظرم خیلی قشنگ نیست، بسته به کاری که می خواید انجام بدین شاید بشه جور دیگه ای پیاده سازی کرد.

Felony
شنبه 06 فروردین 1390, 06:55 صبح
من فکر کردم منظور ایشون این هست که تابع ها ورودیشون آرایه ای با اندیس های متفاوت باشه .

SAASTN
یک شنبه 07 فروردین 1390, 09:18 صبح
من فکر کردم منظور ایشون این هست که تابع ها ورودیشون آرایه ای با اندیس های متفاوت باشه .
بله درسته، منم جمله رو که دوباره خوندم دیدم کاملا میشه اون برداشت رو هم کرد. جالب اینجاست که kamran_14 هم وسط این مه و بارون تاپیکاشو می بنده به درخت ول میکنه به امون خدا!