Class class1 {public: m_data1; m_data2; memfunc (); Virtual vfunc1 (); Virtual vfunc2 (); Virtual vfunc3 ();
Class1 Object Instance:
━━━━━━━━ VPTR ━━━━ ━━━━━━ m━━━━ (* vfunc1) () ─ ─> Class1: : vfunc1 () ━━━━━━━ ━━━━━━━ m m m m m m M_Data2 (* vFunc2) () ─ ─> Class1 :: vfunc2 () ━━━━━━━━━ ━━━━━━━━━ (* vfunc3) () ──> Class1 :: vfunc3 () ━━━━━━━━━━━class class: public class1 {
Public: m_data3; Memfunc (); Virtual vfunc2 ();}; class2 Object Instance: ━━━━━━━━ VPTR ─ ─> VTABLE ━━━━━━━ ━━━━━━━━ ━━━ m_data1 ─ (* vfunc1) () ─ ─> Class1 :: vfunc1 () ━━━━━━━━ ━━━━━ m_data2 (* vfunc2) ( ) ─ ─> class2 :: vfunc2 () ━━━━━━━ ━━━━━━ M_data3 (* vfunc3) () ─ ─> Class1 :: vfunc3 () ━ ━━━━━━━━ ━━━━━━━ c Class2 :: Memfunc ();