Virtual

ilankt

New member
Virtual

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

vinney

Well-known member
נחמד או לא, אבל RTFM זה התשובה

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

annefan

New member
אני מתנצל

יום ארוך, שבוע ארוך, חודש ארוך. א. עם כל העצבים נתתי לך את התשובה. ב. מומלץ מאוד לקרוא את ה-FAQ כולו. אפשר במיטה, לפני השינה, בפאלם, אבל באמת שכדאי לקרוא. (אגב, יש גם FAQ ל-C, וגם הוא מומלץ. ג. מבחינת שימוש, בלי הסברים מה קורה בפנים, קריאה לפונקציה וירטואלית המופעלת על מצביע (או reference) לאוביקט מסוג בן, גם אם המצביע הוא מסוג אבא, תפעיל את הפונקציה המתאימה לבן.
#include <iostream> using namespace std; class A { public: virtual void p() // Remove the virtual here and see what happens { cout << "A" << endl; } }; class B : public A { public: void p() { cout << "B" << endl; } }; int main() { B * b = new B; A * a = b; a->p(); return 0; }​
מקווה שעכשיו זה יותר ברור.
 
למעלה