nclass base {
n public:
n void fun(int) {
n cout <<"base::fun(int)"
<<endl;
n }
n void fun(double) {
n cout
<<"base::fun(double)" <<endl;
n }
n};
n
nclass derived : public
base {
n public:
n using base::fun; //fun(int) & fun(double) now in
scope
n void fun(int) { //hides fun(int) brought into scope
n cout
<<"derived::fun(int)" <<endl;
n }
n void fun(char*) { //defines new
fun(char*)
n cout
<<"derived::fun(char*)" <<endl;
n }
n};
n
n