A pointer (or reference) to a class can actually point (refer) to any class derived from that class.
it may be desirable to obtain a pointer to the fully derived class, or to some other subobject of the complete object.