Virtual Method Table.

For single inheritance, the simplest thing in the world: first word in object is a pointer to the table of its methods' entry points. One table per class, the pointer is set in constructor.

For multiple inheritance it gets hairy as hell.