ما هو الفرق بين الوظيفة الافتراضية وتجاوز الوظيفة؟
ما هو الفرق بين الوظيفة الافتراضية وتجاوز الوظيفة؟

فيديو: ما هو الفرق بين الوظيفة الافتراضية وتجاوز الوظيفة؟

فيديو: ما هو الفرق بين الوظيفة الافتراضية وتجاوز الوظيفة؟
فيديو: الوظيفة VS العمل الحر .. شاهد واحكم | سنام لتحقيق الثراء | د.المقداد السلمي 2024, شهر نوفمبر
Anonim

وظائف افتراضية لا يمكن أن يكون ثابتًا ولا يمكن أن يكون أيضًا صديقًا وظيفة من فئة أخرى. يتم تعريفهم دائمًا في الفئة الأساسية و تم تجاوزها في فئة مشتقة. إنه ليس إلزاميًا للفئة المشتقة لـ تجاوز (أو أعد تعريف ملف وظيفة افتراضية ) ، في هذه الحالة إصدار الفئة الأساسية من وظيفة يستخدم.

علاوة على ذلك ، ما هو الفرق بين الوظيفة الافتراضية والوظيفة الافتراضية البحتة؟

الرئيسية الفرق بين ' وظيفة افتراضية "و" وظيفة افتراضية خالصة ' هل هذا ' وظيفة افتراضية تعريفه في ال الفئة الأساسية وكذلك الفئات المشتقة الوراثية تعيد تعريفها. ال وظيفة افتراضية خالصة ليس له تعريف في ال الصنف الأساسي ، وكل الأصناف المشتقة الموروثة يجب أن تعيد تعريفها.

بعد ذلك ، السؤال هو ، ما هي الوظيفة التي تعلو في C ++؟ تجاوز وظيفة C ++ . إذا كانت الفئة المشتقة تعرف نفسها وظيفة كما هو محدد في فئته الأساسية ، يُعرف باسم وظيفة تجاوز في C ++. يتم استخدامه لتحقيق تعدد الأشكال وقت التشغيل. يمكّنك من توفير تنفيذ محدد لـ وظيفة التي يتم توفيرها بالفعل من خلال فئتها الأساسية.

وبالمثل ، يتساءل الناس ، لماذا نستخدم الوظائف الافتراضية؟

وظائف افتراضية نكون تستخدم لدعم "تعدد الأشكال وقت التشغيل". عندما وظيفة افتراضية يتم استدعاؤه باستخدام مؤشر الفئة الأساسية ، ويقرر المترجم في وقت التشغيل أي إصدار من وظيفة على سبيل المثال ، يجب استدعاء إصدار الفئة الأساسية أو إصدار الفئة المشتقة الذي تم تجاوزه. وهذا ما يسمى تعدد الأشكال وقت التشغيل.

هل يمكنك تجاوز وظيفة غير افتراضية في C ++؟

في c ++ ، كل أعضاء الفصل المهام نكون عدم - افتراضية بشكل افتراضي. أنهم علبة مصنوع افتراضية باستخدام ملف افتراضية الكلمة الرئيسية في وظيفة التوقيع. كما ذكر أعلاه لو ال وظيفة من الدرجة الأساسية افتراضية ثم وظيفة من فئة مشتقة أو تابعة وظيفة بنفس الاسم يمكن أن تتجاوز الطبقة الأساسية وظيفة.

موصى به: