المشاركات

عرض الرسائل ذات التصنيف زيادة تحميل المؤثرات في سي بلس بلس

ملخص زيادة تحميل المؤثرات في ++C

صورة
رأينا في الجزء السابق كيف إن المؤثرات المعتادة يمكن أن تأخذ معان مستحدثة إذا ما طبعت علي الأنواع التي يضعها المبرمج . وتستخدم الكلمة الحاكمة operator لزيادة تحميل المؤثرات , وسوف يطبق المؤثر بعد زيادة تحميله المعني الذي عرفه له المبرمج . وهذا الموضوع قريب الصلة بموضوع تغيير النوع , فبعض صور التحويلات تتم بين أنواع وضعها المبرمج وأنواع أساسية . ولهذا التحويل أسلوبان , استخدام بادئة ذات معامل وحيد , تغير من النوع الأساسي إلي النوع المعرف بواسطة المبرمج , وأسلوب دالة التحويل للتحويل العكسي , أي من نوع معرف بواسطة المبرمج لنوع أساسي . وفي حالة التحويل بين نوعين معرفين بواسطة المبرمج , يمكن استخدام أي من الأسلوبين . ويلخص الجدول الأتي طرق التحويل المختلفة : الروتين في الهدف الروتين في المصدر من نوع أساسي لنوع أساسي دوال مكتبية من نوع أساسي لنوع معرف ...

تغيير نوع البيانات في ++C

صورة
تغيير نوع البيانات تحدثنا سابقا عن تحويل أنواع البيانات من نوع إلي أخر من الأنواع الأساسية , مثل int إلي float أو العكس , وبينا أن ذلك قد يكون أليا لا يتدخل فيه المبرمج , أو قسريا باستخدام مؤثر التحديد القسري cast operator والذي صيغته أن يوضع المتغير المراد تغيير نوعه (أو أسم النوع ) بين قوسين . وسوف نقوم في البقية الباقية من المقالات بشرح طريقة زيادة تحميل مؤثر التحويل القسري لكي يستخدم في التحويل بين نوع محدد بمعرفة المبرمج (كائن) ونوع أساسي , أو بين كائنات من أنواع مختلفة . التحويل بين كائن ونوع أساسي في المثال التالي سوف نقدم لك برنامجا يحول بين المسافات بالوحدات الإنجليزية ( التي يعبر عنها بكائن من الفئة distance ) والمترية ( والتي تكون أعدادا كسرية , أي من النوع float ) englconv.cpp   // englconv.cpp // conversions: Distance to meters, meters to Distance // UCS Laboratories #include <iostream.h> #include <conio.h>   const float MTF = 3.280833; // meters to feet   class Distance ...

زيادة تحميل المؤثرات الثنائية في ++C

صورة
زيادة تحميل المؤثرات الثنائية المؤثرات الحسابية في برنامج englcon.cpp بالمقالات السابقة استخدمنا الدالة add_dist() لكي يمكننا جمع مسافتين , بالأمر : Dist3.add_dist(dist, dist); وسوف نعيد صياغة البرنامج بزيادة تحميل المؤثر "+" حتي يمكننا وضع الأمر علي الصيغة : Dist3 = dist1 + dist2; englplus.cpp   // englplus.cpp // overloaded '+' operator adds two Distances // UCS Laboratories #include <iostream.h> #include <conio.h>   class Distance // English Distance class { private : int feet; float inches; public : Distance() // constructor (no args) { feet = 0; inches = 0.0; } Distance( int ft, float in ) // constructor (two args) { feet = ft; inches = in ; }   void getdist() // get length from user { cout << "\nEnter feet: " ; cin >> feet; cout << "...