«متموعمد غم
قمع - فعقع 0 م لعفو /1
لات ات ا ل ا ا ل
أعتقد واضحة الامور ولا يوجد فرق سواء بالضرب او القسمة .
عدل على البرنامج السابق بحيث يقوم بالعمليات الاربع الجمع والطرح
والقسمة والضرب ؟(اذا حليتة فا اموورك ماشية تمام)
اذا اردنا ان العملية + تعمل مع اشكال مختلفة مثلا لو نرجع لمثالنا السابق (6810115)4
وبغينا نضيف 6 لهذا الكلاس والناتج راح يكون (66015)10 .
في السي ++ عملية الجمع بين عددين مثل 7+)ل ما تختلف عن 7+7 لانهم نفس النوع عملية التبديل
ماتهم .
نفس العملية تحدث في +0061+8101 عند استدعائها .على العموم اذا كان المتغيرين ما هم
من نفس النوع فهنا نجب ان تحذر .
مثلا 6 + (4) 0+5ع6 راح تستدعي الدالة زيم رئمة6)+00 نعم ل (4) امع + 6 رزاع
تستدعي (015ع6 ,:0)+0:060م0 طبعا اذا كانت الإواع المررة لين من نفس النوع ما تفرق لكن
اذا كانت تختلف نحتاج الى كتابة دالتين .راح تتضح الصورة بالمثل
قمع دعقا
+ عمد 8مماعو00 //
و ا دست ماه ع ل ا
الممتاعمي «وطدعم د عمم عذ ممتععمية خقطع
اقطامع0مة دمع لمم قاقع0م
لو تلاحظ عملية الاختلاف كانت في
الترتيب فقط واحتجنا الى اعادة تعريفها .
لفاسلا وفع
الام
منسمم
نتملا عم بلق مالسالل مهم ) +عم ع ععمه العلتمل 21606
ورف موسا همده رعينتدلام عم1) عه عمععدة «سمتملط م21
فمدم) جوع مععمه مصلل
اوملتقلام : «قلام_س1ه 3 مستوله < عفلله_مياه - ملام عمد
(مستولاه املس عو دده للقء //
لأملهه عمد
هذا البرنامج يقوم بجمع مجموعة من الكلاس واخراج اكبر قيمةة واصغر قيمة لم تعتمد طريقة الجمع
بالمعنى المفهوم لكن تمى اسغلالها بطريقة ذكية .
تم اعادة تعريف عملية الجمع لكي تستطيع التعامل مع
اوبجكت + عدد
عدد +اوبجكت
والناتج راح يكون
التحميل الزائد لأدوات الدخل والخرج :
بس لو اعدنا تعريف المعامل . << و >> لأستطعنا كتابتها بهذا الشكل
راح يعطينا نفس النتائج وبكل سهولة .اعادة تعريف المعامل << نفس المعامل
(1015 00813 /بصنهقماط طت0ط ع2 لا26ط1) +00612101
لانة معامل ثنائي ( << ) بس الاختلاف بالبارمتر :02200648 .
في الجملة هذي +0010 >> نان يوجد معاملين المعامل الايسر
تعريف 10061100 0762103060 تقريبا بالشكل التالي
طبعا في السي ++ المعامل >> معرف للتعامل مع 000/018 لان في مثالنا
السابق الاعضاء من نوع 000016
فقط الي علينا نعملة هو تعريف ال << لطباعة 801012.
خلونا نعيد تعريف المعامل في المثال السابق
ِ 0 - اطلام
ان شاء الله الكود واضح ومافية اي غموض فية ترك بسيط
نوعية القيمة المرجعة في
طبعا السبب في ارجاع قيمة هو عند طباعة الكلاس وطباعة امر آخر معة
بنفس اللحظة مثل
07 >> غعصةوطه >> عتم
فهنا تحدث مشكلة اذا لم نقم بأراجاع قيمة .فلو ان لم نقم بأزاجاع قيمة (يغي
0» ) عند وصل الكومبايلر الى
07 >> غعصةوطه >> عتم
فيتم معالجتها عن طريق نظام الاسبقية/ الترابط .
فتصبح كأننا كتبناها هكذا
فا بعد الاستدعا وتنفيذ الدالة لا ترجع شي هو يعني 17/0160
نرجع لتكملية السطر فيصبح عندنا
وهذي القيمة لا تعني شي وهو خطاء في الكمبايلر .
فهذا هو سبب ارجاع قيمة من نوع 05436800
طيب لو قمنا بأارجاع قيمة من نوع 0906800 راح تم التنفيذ بالشكل التالي
بالبداية راح يتم التنفيذ
يعني
تصلوطه >> عتم
ثم القيمة المرجعة هي 0008
فيصبح التكملة لها هي
وهذا التنفيذ الصحيح وهو سر ارجاع قيمة من نوع 05068070
بشكل عام عند اعادة اي تعريف اي معامل ثنائي قيمة اليسرى لا بد ان ترجع
الان نكمل الكود في المين
المخرجات راح تكون بالشكل التالي
المعامل هذا مثلة مثل المعامل السابق .النقطة المختلفة في هذا المعامل
عملوط وفقك
١ الاقم معنطوع ١ ()لا88 علطم
٠ 8 >> >> فس عمتودق >> )عه ا
عه ١ رت > الاق متو
م لمقوقع << هد
بض معنطاوع