1 class A{}; 2 class B{}; 3 class C: public B {}; 4 5 namespace D{ 6 int foo (A) { return 11; } 7 int foo (C) { return 12; } 8 } 9 10 int main() 11 { 12 A a; 13 B b; 14 C c; 15 16 D::foo (a); 17 // D::foo (b); 18 D::foo (c); 19 20 return 0; 21 } 22