Virtual Base Class:

A base class that has been qualified as virtual in the inheritance definition. In multiple inheritance, a derived class can inherit the members of a base class via two or more inheritance paths. If the base class is not virtual, the derived class will inherit more than one copy of the members of the base class. For a virtual base class, however, only one copy of its members will be inherited regardless of the number of inheritance paths between the base class and the derived class.