If a declaration can be reached by several paths through a multiple inheritance
graph, the access is that of the path that gives most access.
[Example 1:âclass W {public:void f(); };
class A :privatevirtual W {};
class B :publicvirtual W {};
class C :public A, public B {void f(){ W::f(); }// OK};
Since
Wâ::âf()
is available to
Câ::âf()
along the public path through
B,
access is allowed.