vtable, is a mechanism used in a programming language to support dynamic dispatch (or run-time method binding).
Suppose a program contains several classes in an inheritance hierarchy: a superclass,
Cat, and two subclasses,
Cat defines a virtual function named
speak, so its subclasses may provide an appropriate implementation (i.e., either meow or roar).
When the program calls the
speak method on a
Cat pointer (which can point to a
Cat class, or any subclass of
the run-time environment must be able to determine which implementation
to call, depending on the actual type of object that is pointed to.