وظائف افتراضية
الكلمة الافتراضية هي وظيفة محدد، الذي يوفر آلية لتحديد حيوي في وقت التشغيل وظيفة عضوا المناسب ضمن وظائف الصفوف الأساسية والمشتقة. هياكل لا يمكن أن يكون لها وظائف افتراضية. ويمكن استخدامه لتغيير الإعلانات عن الوظائف أعضاء فقط.
الدالة الظاهري، مثل وظيفة عادية، يجب أن يكون لها جسم قابل للتنفيذ . عندما دعا، الدلالي لها هو نفسه كما ان من وظائف أخرى.
وظيفة الظاهرية قد يتم تجاوز في فئة مشتقة. اختيار ما تعريف الدالة يجب أن يتم استدعاء ليتم دالة ظاهري حيوي (في وقت التشغيل). وثمة حالة نموذجية هي عندما يحتوي على الفئة الأساسية دالة ظاهري، والفئات المشتقة لها النسخ الخاصة بهم من هذه الوظيفة.
المؤشر إلى الفئة الأساسية يمكن أن تشير إلى أي كائن الفئة الأساسية أو كائن من فئة مشتقة. سيتم تنفيذ الخيار للدالة عضو للاتصال في وقت وسيعتمد على نوع الكائن، وليس نوع من المؤشر. إذا كان هناك أي عضو من نوع المشتقة، يتم استخدام الدالة الظاهري من الفئة الأساسية بشكل افتراضي.
Destructors دائما افتراضية، بغض النظر عما إذا كانت أعلنت مع الكلمة الافتراضية أم لا.
دعونا النظر في استخدام وظائف الظاهرية على سبيل المثال من MT5_Tetris.mq5. يتم تعريف الفئة الأساسية CTetrisShape مع وظيفة الظاهري القرعة في MT5_TetisShape.mqh الملف المضمن.