מה ההבדל בין פונקציה וירטואלית לפונקציה וירטואלית טהורה ב-C++?
מה ההבדל בין פונקציה וירטואלית לפונקציה וירטואלית טהורה ב-C++?

וִידֵאוֹ: מה ההבדל בין פונקציה וירטואלית לפונקציה וירטואלית טהורה ב-C++?

וִידֵאוֹ: מה ההבדל בין פונקציה וירטואלית לפונקציה וירטואלית טהורה ב-C++?
וִידֵאוֹ: הסבר והדגמה להגדרה של מתודה וירטואלית ב-#C 2024, מאי
Anonim

הראשי הבדל בין ' פונקציה וירטואלית' ו'פונקציה וירטואלית טהורה ' האם זה ' פונקציה וירטואלית יש את ההגדרה שלה בתוך ה מחלקה בסיס וגם המחלקות הנגזרות בירושה מגדירים אותה מחדש. ה פונקציה וירטואלית טהורה אין הגדרה בתוך ה מחלקה בסיס, וכל המחלקות הנגזרות היורשת חייבות להגדיר אותה מחדש.

בדרך זו, מהי פונקציה וירטואלית טהורה C++?

פונקציות וירטואליות טהורות ומחלקות מופשטות ב-C++ איננו יכולים ליצור אובייקטים של מחלקות מופשטות. א פונקציה וירטואלית טהורה (או מופשט פוּנקצִיָה ) ב C++ הוא פונקציה וירטואלית שעבורו אין לנו יישום, אנו רק מצהירים על כך. א פונקציה וירטואלית טהורה מוצהר על ידי הקצאת 0 בהצהרה.

מלבד לעיל, מהי פונקציה וירטואלית ומחלקה וירטואלית? א פונקציה וירטואלית הוא חבר פוּנקצִיָה בתוך הבסיס מעמד שאנו מגדירים מחדש בנגזרת מעמד . הוא מוכרז באמצעות ה וירטואלי מילת מפתח. כש מעמד מֵכִיל פונקציה וירטואלית הוא בירושה, הנגזר מעמד מגדיר מחדש את פונקציה וירטואלית כדי להתאים לצרכים שלה.

בהקשר זה, מהי פונקציה וירטואלית וירטואלית טהורה להסביר בדוגמה?

א פונקציה וירטואלית טהורה הוא פוּנקצִיָה שחייבים לעקוף בכיתה נגזרת ואין צורך מוּגדָר . א פונקציה וירטואלית מוכרז כ" טָהוֹר " באמצעות התחביר curious =0. ל דוגמא : class Base {

מה השימוש בפונקציות וירטואליות?

פונקציות וירטואליות להבטיח כי נכון פוּנקצִיָה נקרא עבור אובייקט, ללא קשר לסוג ההפניה (או המצביע) עבורו פוּנקצִיָה שִׂיחָה. פונקציות מוצהרים עם א וירטואלי מילת מפתח בכיתה בסיס. הפתרון של פוּנקצִיָה השיחה מתבצעת בזמן ריצה.