02-05-2018, 05:32 PM
(01-05-2018, 08:54 PM)delphi17 كتب : لفت انتباهي هذا الكود ولم اهضم operator*في هذا الفرع Operator Overloading:
كود :{$mode objfpc}{$H+}{$J-} uses StrUtils; operator* (const S: string; const A: Integer): string; begin Result := DupeString(S, A); end; begin Writeln('bla' * 10); end
يتحدث عن امكانية اعادة تحميل او تعريف لمعامل موجود مسبق في اللغة, ك *,-,/,+,=:, < وغيرها, بحيث يمكنك استخدامه من نوع بيانات غير المحددة له مسبقا, وفي مثاله هو استخدم دالة موجودة مسبقا وهي dupestring لتكرار قيمة نصية بالعدد الذي تحدده, هكذا كلما استعملت المعامل * مع قيمة نصية فستكرر من خلال الدالة dupestring.
والله اعلم يمكنك البحث اكثر عن operator overloading وستجد شروح مفصلة عنه.



![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)