1class A{};
2class B{};
3class C: public B {};
4
5namespace D{
6  int foo (A) { return 11; }
7  int foo (C) { return 12; }
8}
9
10int 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