تحميل كتاب شرح التحميل الزائد في لغة سي بلس بلس ++Operator Overloading in C

تحميل كتاب شرح ++Operator Overloading in C في لغة سي بلس بلس

مقدمة

في برمجة الحاسوب، يعد تحميل زائد للعملية (بالإنجليزية: operator overloading)‏، والذي يطلق عليه أحيانًا تعدد الأشكال المخصص للمشغل، حالة محددة من تعدد الأشكال، حيث يكون لدى العوامل المختلفة تنفيذات مختلفة اعتمادًا على قيمهم (arguments). يتم تعريف التحميل الزائد للمشغل بشكل عام بلغة برمجة أو بواسطة مبرمج أو كليهما.

تحميل كتاب شرح operator overloading in c++ في لغة سي بلس بلس ++C
تحميل كتاب شرح operator overloading in c++ في لغة سي بلس بلس ++C

لكل الباحثين عن كتب في البرمجة و تحميل كتاب تعلم c++ للمبتدئين او  تحميل كتاب المؤشرات c++ نقدم لكم اليوم كتابا يحوي شرحا كافيا عن Operator overloading  حيث يسمح للمستخدم بكيفية عمل العمليات الحسابية (+,-,=,…..) مع مختلف انواع البيانات كذلك جميع العمليات السي بلس بلس وذلك باسلوب مبسط وشرح وافي مع اصور والامثلة التوضيحية وذلك لتكريس الفهم , هذا الكتاب يفيد الطلاب ولكل المختصين في هذا المجال

يمكن تعريف عوامل مثل ‎+‎ و ‎->‎ في ++C من أجل استخدامها مع الأنواع المُعرّفة من قِبل المستخدم. فمثلًا، تعرِّف الترويسة العامل ‎+‎ لضمّ (concatenate) السلاسل النصية، وهذا ممكن عن طريق تعريف عامِل باستخدام الكلمة المفتاحية ‎operator‎.

العوامل الحسابية (Arithmetic operators)

من الممكن زيادة تحميل جميع العوامل الحسابية الأساسية:

  • ‎+‎ ، ‎+=‎
  • ‎-‎ ، ‎-=‎
  • ‎*‎ ، ‎*=‎
  • ‎/‎ ، ‎/=‎
  • ‎&‎ ، ‎&=‎
  • ‎|‎ ، ‎|=‎
  • ‎^‎ ، ‎^=‎
  • ‎>>‎ ، ‎>>=‎
  • ‎<<‎ ، ‎<<=‎

يتشابه التحميل الزائد في كل العوامل كما سترى فيما يأتي من الشرح، ولزيادة التحميل خارج الأصناف (‎class‎) والبنيات (‎struct‎)، يجب تطبيق العامل +operator وفق العامل =+operator

 

يجب أن يعيد ‎operator+‎ قيمة غير ثابتة، إذ أنّ إعادة مرجع لن يكون له معنى -إذ يُرجع كائنًا جديدًا- ولا إعادة قيمة ثابتة ‎const‎ كذلك إذ يجب أن تتجنّب عمومًا الإعادة بقيمة ثابتة، ويُمرّر الوسيط الأول بالقيمة (by value)، للسببين التاليين:

  1. نظرًا لأنّك لا تستطيع تعديل الكائن الأصلي، ذلك أن ‎Object foobar = foo + bar;‎ لا ينبغي أن يعدّل ‎foo‎ على أيّ حال لأنه لا فائدة من ذلك.
  2. لا يمكنك جعله ثابتًا لأنّك ستحتاج إلى تعديل الكائن لما أن ‎operator+‎ تُنفَّذ بواسطة ‎operator+=‎ الذي يعدّل الكائن

التمرير بمرجع ثابت &const هو أحد الخيارات المتاحة، لكن سيتعيّن عليك حينها إنشاء نسخة مؤقّتة من الكائن المُمرّر، أما إن مرّرت الوسيط بقيمته (by value) فسيتكفّل المُصرّف بذلك نيابة عنك. كذلك فإن ‎operator+=‎ يعيد مرجعًا إلى نفسه، وهكذا يمكن سَلْسَلَته، لكن لا تستخدم المتغيّر نفسه، إذ أنّ ذلك سيؤدي إلى سلوك غير محدّد.

الوسيط الأوّل هو مرجع نريد تعديله لكنه ليس ثابتًا، لأنك لن تستطيع تعديله عندئذ، ولا ينبغي تعديل الوسيط الثاني، ويُمرَّر بمرجِع ثابت ‎const&‎ لأسباب تتعلق بالأداء، إذ أن تمرير الوسيط بمرجع ثابت أسرع من تمريرِه بالقيمة.

نتمنى لكم اقصى استفادة ممكنة من هذا الكتاب

 

 

Advertisement

 

معلومات الكتاب
اسم الكتاب شرح Operator overloading
المؤلف  محمد الحربي
نوع الكتابPDF
الحجم1.35 M.B

 

 

قد يُعجبك أيضاً :

About تحميل كتب PDF 358 Articles
تحميل الكتب العربية والأجنبية والروايات , تحميل افضل الكتب الخاصة بالكمبيوتر وتعليم اللغات الاجنبية وقواعد اللغة بالاضافة الى كتب تعليم التصميم والجرافيك وتصميم المواقع الالكترونية وتحميل كتب تعليم البرمجة والكتب الدينية وغيرها الكثير

قم بكتابة اول تعليق

Leave a Reply

لن يتم نشر بريدك الالكتروني في اللعن


*


هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.