nAlways supply default constructors with virtual base classes. This will avoid problems when initializing virtual base class members. If a virtual base class has arguments, then we must expect the most derived class to have full knowledge of the indirect base class constructor.
nArguments specified for
virtual base class constructors must
come from the derived class that is actually creating an object.
nVirtual base class
constructor invokations from intermediate
base classes are ignored.