Rule M10-1-3 (required, implementation, automated)

An accessible base class shall not be both virtual and non-virtual in the same hierarchy. See MISRA C++ 2008 [7]