فيديو: الدرس التاسع : جملة الطباعة (cout) و جملة (static_cast) و ال (conditional operator) 2025
إن أنواع البيانات الجوهرية مضمنة في لغة C ++، مثل إنت ، تطفو ، ومضاعفة وأنواع مؤشر مختلف. C ++ تمكن مبرمج لتحديد مشغلي الطبقات التي تم إنشاؤها مبرمج بالإضافة إلى هذه العوامل الجوهرية. وهذا ما يسمى المشغل الزائد.
عادة، المشغل الزائد هو اختياري وليس محاولة من قبل بداية C ++ المبرمجين. وهناك الكثير من ذوي الخبرة المبرمجين C ++ لا أعتقد المشغل الزائد هو مثل فكرة عظيمة سواء. ومع ذلك، سيكون لديك لمعرفة كيفية تحميل مشغل واحد الزائد: المشغل التعيين.
المشغل ليس أكثر من وظيفة مدمجة مع بنية غريبة. يمكن أن تفهم عملية الإضافة التالية
a + b
كما لو كانت مكتوبة
عامل + (a، b)
في الواقع، يعطي C ++ لكل عامل اسم نمط الدالة. الاسم الوظيفي للمشغل هو رمز المشغل يسبقه عامل تشغيل الكلمة الرئيسية ويتبعه أنواع الوسيطة المناسبة. على سبيل المثال، المشغل + الذي يضيف إنت إلى إنت توليد إنت يسمى عامل إنت + (إنت، إنت).
يمكن تعريف أي مشغل حالي لفئة معرفة من قبل المستخدم. وهكذا، أنا يمكن أن تخلق مشغل مجمع * (مجمع كونست و، مجمع كونست &) التي من شأنها أن تسمح لي لمضاعفة كائنين من نوع مجمع . المشغل الجديد قد يكون له نفس الدلالات كما المشغل الزائد، ولكن ليس من الضروري. تنطبق القواعد التالية عند تحميل المشغلين:
-
لا يستطيع المبرمج تحميل . (دوت)، :: (كولون)، . *، * ->، سيزوف أند ؟: (الثلاثي).
-
لا يمكن للمبرمج اختراع مشغل جديد. على سبيل المثال، لا يمكنك اختراع العملية x $ y .
-
لا يمكن تغيير بناء جملة المشغل. وبالتالي، لا يمكنك تعريف عملية٪ i لأن٪ تم تعريفها بالفعل كمشغل ثنائي.
-
لا يمكن تغيير أولوية المشغل. برنامج لا يمكن فرض المشغل + ليتم تقييمها قبل المشغل * .
-
لا يمكن إعادة تعريف المشغلين عند تطبيقها على الأنواع الجوهرية - لا يمكنك تغيير معنى 1 + 2. يمكن تحميل المشغلين الحاليين بشكل زائد على الأنواع المحددة حديثا.
مشغلي التحميل الزائد هو واحد من تلك الأشياء التي تبدو وكأنها فكرة أفضل بكثير مما هو عليه حقا. عادة، المشغل الزائد يقدم المزيد من المشاكل مما يحل.
