If there is a pointer p to objects of a base class, and it contains the address of an object of a derived
class, and both classes contain a nonvirtual member function, ding(), then the statement p->ding(); will
cause the version of ding() in the _____ class to be executed.
When a virtual function is called by referencing a specific object by name and using the dot member selection
operator (e.g., squareObject.draw()), the reference is resolved at compile time.