When a subclass is created, a new virtual method table is generated.
-
Methods that are inherited point to the same function as the parent class.
(and are found in the same offset in the virtual method table).
-
Methods that are overridden occupy the same offset location, but
point to the new function, instead of the version in the parent class.