This article is from the Object-Oriented Technology FAQ, by Bob Hathaway email@example.com with numerous contributions by others.
Yes, [Coplien 92] describes a scheme where a class can contain a pointer to
a base class that can switch between its derived classes, providing a limited
form. Earlier chapters contain entries on bypassing C++'s message system and
even bypassing static linking.
Future FAQs should contain more detail.