I know the vptr ("virtual table pointer") points to an array of vtbl ("virtual table"). the thing I can understand is that, is there only one vptr at run time, and a bunch of vtbls that each one is associated with a class that has virtual functions, or is it that there is a vptr for every polymorphic class ?