Rule M5-2-2 (required, implementation, automated)

A pointer to a virtual base class shall only be cast to a pointer to a derived class by means of dynamic_cast. See MISRA C++ 2008 [7]


## See also
JSF December 2005 [8]: AV Rule 178: Down casting (casting from base to
derived class) shall only be allowed through one of the following mechanism:
Virtual functions that act like dynamic casts (most likely useful in relatively
simple cases); Use of the visitor (or similar) pattern (most likely useful in
complicated cases).