When you set an object variable to a class, it creates an instance of that class. That instance includes a a VTable with pointers to functions, and also a copy of any variables the class uses. What I'm not sure of is this. Does the class instance also contain a copy of the executable code that was initially stored in the base class? Or do the entries in the VTable in every instance always point to code in the base class?