The declaration of use adds the function B::f
to the scope of the class for searching, but the function is still B::f
, not C::f
. You can define the implementation in a derived type and move on to the implementation of B::f
, otherwise you will have to change the inheritance hierarchy so that both B
and C
inherit (in fact) from A
void C::f() { B::f(); }
source share