What does it mean when \"virtual\" is in \"class Foo : public virtual Bar\" as opposed to \"virtual void frob()\"?
For a given method there are 8 cases stemming from the
That's virtual inheritance, you do it when you know you'll be doing multiple inheritance. That page goes into way more detail.