Yes it is possible. The problem here is that the function B::foo(char*) hides the name of the inherited function A::foo(int) , but you can return it to area B with the declaration using :
class B : public A { public: void foo ( char * ) { } using A::foo; };
Angew source share