+ 9
The C++ rules say that virtual base classes are constructed before all non-virtual base classes. The thing you as a programmer need to know is this: constructors for virtual base classes anywhere in your class's inheritance hierarchy are called by the âmost derivedâ class's constructor.
https://isocpp.org/wiki/faq/multiple-inheritance
https://en.wikipedia.org/wiki/Virtual_inheritance