C ++ مشغل مقارنة التحميل الزائد بتنسيق

C Mshghl Mqarnt Althmyl Alzayd Btnsyq



يعتبر التحميل الزائد للمشغل مفهومًا مهمًا في C ++ يتيح لك تحقيق وظائف المشغلين المدمجين أثناء العمل مع أنواع البيانات المحددة من قبل المستخدم. عوامل المقارنة في C ++ هي تلك الموجودة لمقارنة قيمتين مع بعضهما البعض مثل '==' و '! =' و '>' و '<' و '> =' و '<='. ستشارك هذه المقالة في طرق التحميل الزائد لجميع عوامل المقارنة الستة هذه في C ++ في Ubuntu 20.04.

المثال رقم 1: زيادة تحميل عامل التشغيل '==' في C ++:

لزيادة التحميل على عامل التشغيل “==” في C ++ ، قمنا بتصميم فئة C ++ التالية:







اسم فئة C ++ لدينا هو ProductPrice. ضمن هذه الفئة ، لدينا 'سعر' خاص بالأعضاء. بعد ذلك ، لدينا بعض وظائف الأعضاء العامة. الوظيفة الأولى ، المسماة 'userInput' ، تأخذ سعر المنتج كمدخل من المستخدم. بعد ذلك ، لدينا وظيفة التحميل الزائد على عامل التشغيل “==” في C ++. لقد مررنا كائنًا من فئة ProductPrice إلى هذه الوظيفة. ضمن هذه الوظيفة ، لدينا عبارة 'if' التي ستعيد 'true' إذا كانت أسعار المنتجين متساوية ، وإلا 'false'.



لاختبار ذلك ، لدينا وظيفة السائق الموضحة في الصورة أدناه:







في دالة 'main ()' الخاصة بنا ، قمنا أولاً بإنشاء كائنين من صنفنا. بعد ذلك ، قمنا باستدعاء وظيفة 'userInput' مع كل من الكائنين واحدًا تلو الآخر لأخذ أسعار المنتجين كمدخلات من المستخدم. بعد ذلك ، لدينا عبارة 'if' لطباعة رسالة إذا كان السعرين متساويين ورسالة أخرى إذا لم يكن الأمر كذلك.

قمنا بتجميع هذا البرنامج باستخدام الأمر التالي:



$ g ++ ComparisonOperator.cpp –o ComparisonOperator

ثم قمنا بتنفيذها باستخدام الأمر الموضح أدناه:

$ . / عامل المقارنة

عند تنفيذ هذا الكود طُلب منا إدخال سعر المنتج الأول كما هو موضح في الصورة التالية:

بعد ذلك طُلب منا إدخال سعر المنتج الثاني كما هو موضح في الصورة أدناه:

منذ أن أدخلنا نفس الأسعار لكلا المنتجين ، يمكننا أن نرى في المخرجات التالية أن عامل التشغيل '==' قد تم تحميله بشكل زائد بنجاح.

الآن ، لاختباره من أجل عبارة 'else' ، أدخلنا سعرين مختلفين للمنتج ، كما هو موضح في الصورة أدناه:

المثال الثاني: زيادة تحميل عامل التشغيل '! =' في C ++:

لزيادة التحميل على عامل التشغيل “! =” في C ++ ، قمنا بتصميم فئة C ++ التالية:

هذا البرنامج يشبه إلى حد كبير مثالنا الأول. الاختلاف الوحيد هو أننا استبدلنا عامل التشغيل “==” بالمعامل “! =” في كل مكان.

لاختبار ذلك ، لدينا وظيفة السائق الموضحة في الصورة أدناه:

لقد أطلقنا على وظيفة 'userInput' في وظيفة 'main ()' الخاصة بنا مع كل من الكائنين واحدًا تلو الآخر لأخذ أسعار المنتجين كمدخلات من المستخدم. بعد ذلك ، لدينا عبارة 'if' لطباعة رسالة إذا كان السعرين غير متساويين ورسالة أخرى إذا كانا كذلك.

عندما قمنا بتنفيذ هذا الرمز مع سعرين مختلفين للمنتج ، اكتشفنا أن عامل عدم المساواة قد تم تحميله بشكل زائد بنجاح ، كما ترون من الصورة التالية:

الآن ، لاختباره من أجل عبارة 'else' ، أدخلنا سعرين متشابهين للمنتج ، كما هو موضح في الصورة أدناه:

المثال الثالث: زيادة التحميل على عامل التشغيل '>' في C ++:

لزيادة التحميل على عامل التشغيل '>' في C ++ ، قمنا بتصميم فئة C ++ التالية:

هذا البرنامج مشابه أيضًا للأمثلة أعلاه. الاختلاف الوحيد هو أننا استبدلنا عامل التشغيل '! =' بالمعامل '>' في كل مكان.

لاختبار ذلك ، لدينا وظيفة السائق الموضحة في الصورة أدناه:

لقد أطلقنا على وظيفة 'userInput' في وظيفة 'main ()' الخاصة بنا مع كل من الكائنين واحدًا تلو الآخر لأخذ أسعار المنتجين كمدخلات من المستخدم. بعد ذلك ، لدينا عبارة 'if' لطباعة رسالة إذا كان السعر الأول أكبر من الآخر ورسالة أخرى إذا لم يكن كذلك.

عندما قمنا بتنفيذ هذا الرمز مع سعرين مختلفين للمنتج ، اكتشفنا أن عامل التشغيل أكبر من قد تم تحميله بشكل زائد بنجاح ، كما ترون من الصورة التالية:

الآن ، لاختباره من أجل عبارة 'else' ، أدخلنا سعرين متشابهين للمنتج ، كما هو موضح في الصورة أدناه:

المثال الرابع: زيادة التحميل على عامل التشغيل '<' في C ++:

لزيادة التحميل على عامل التشغيل '<' في C ++ ، قمنا بتصميم فئة C ++ التالية:

هذا البرنامج مشابه أيضًا للأمثلة أعلاه. الاختلاف الوحيد هو أننا استبدلنا عامل التشغيل '>' بالمعامل '<' في كل مكان.

لاختبار ذلك ، لدينا وظيفة السائق الموضحة في الصورة أدناه:

لقد أطلقنا على وظيفة 'userInput' في وظيفة 'main ()' الخاصة بنا مع كل من الكائنين واحدًا تلو الآخر لأخذ أسعار المنتجين كمدخلات من المستخدم. بعد ذلك ، لدينا عبارة 'if' لطباعة رسالة إذا كان السعر الأول أقل من الآخر ورسالة أخرى إذا لم يكن كذلك.

عندما قمنا بتنفيذ هذا الرمز مع سعرين مختلفين للمنتج ، اكتشفنا أن عامل التشغيل الأقل من قد تم تحميله بشكل زائد بنجاح ، كما ترون من الصورة التالية:

الآن ، لاختباره من أجل عبارة 'else' ، أدخلنا سعرين مختلفين للمنتج مرة أخرى ، ولكن هذه المرة ، يكون سعر المنتج الأول أكبر من الثاني ، كما هو موضح في الصورة أدناه:

المثال الخامس: زيادة التحميل على عامل التشغيل '> =' في C ++:

لزيادة التحميل على عامل التشغيل “> =” في C ++ ، قمنا بتصميم فئة C ++ التالية:

هذا يختلف قليلاً عن الأمثلة أعلاه. أثناء التحميل الزائد على المشغل هذه المرة ، لدينا شرطان ضمن عبارة 'if' مفصولة بعلامة '||' رمز. هذا يعني أن هذا البيان سيتحقق مما إذا كان سعر المنتج أكبر من أو يساوي سعرًا آخر.

لاختبار ذلك ، لدينا وظيفة السائق الموضحة في الصورة أدناه:

لقد أطلقنا على وظيفة 'userInput' في وظيفة 'main ()' الخاصة بنا مع كل من الكائنين واحدًا تلو الآخر لأخذ أسعار المنتجين كمدخلات من المستخدم. بعد ذلك ، لدينا عبارة 'if' لطباعة رسالة إذا كان السعر الأول أكبر من أو يساوي الآخر ورسالة أخرى إذا لم يكن كذلك.

عندما قمنا بتنفيذ هذا الرمز مع سعرين مختلفين للمنتج ، اكتشفنا أن لدينا أكبر من أو يساوي المشغل قد تم تحميله بشكل زائد بنجاح ، كما ترون من الصورة التالية:

الآن ، لاختباره من أجل عبارة 'else' ، أدخلنا سعر المنتج الأول أقل من الثاني ، كما هو موضح في الصورة أدناه:

مثال # 6: زيادة التحميل على عامل التشغيل '<=' في C ++:

باتباع نفس الطريقة التي اتبعناها في المثال الخامس ، قمنا أيضًا بتحميل عامل التشغيل '<=' بشكل زائد ، وكودته كما يلي:

نتائج تنفيذ هذا البرنامج بقيم مختلفة موضحة في الصور أدناه:

استنتاج:

توضح هذه المقالة جيدًا كيف يمكنك زيادة التحميل على عوامل المقارنة الستة في C ++ في Ubuntu 20.04. بدأنا بمقدمة موجزة عن التحميل الزائد للمشغل ، ثم تم تحميل جميع مشغلي المقارنة الستة في C ++ بشكل زائد. لقد استخدمنا نفس الفئة المعرفة من قبل المستخدم لتوضيح كل هذه الطرق. بمجرد اتباع هذه الطرق ، ستتمكن من زيادة التحميل على عوامل المقارنة هذه لأي فئة أخرى يحددها المستخدم.