1// Test of class-scope using-declaration for functions. 2 3#define assert(COND) if (!(COND)) return 1 4 5struct A { 6 int f(int) { return 1; } 7 int f(char) { return 2; } 8}; 9 10struct B { 11 int f(double) { return 3; } 12}; 13 14struct C : public A, public B { 15 using A::f; 16 using B::f; 17 int f(char) { return 4; } 18 int f(C) { return 5; } 19}; 20 21int main () 22{ 23 C c; 24 25 assert (c.f(1) == 1); 26 assert (c.f('a') == 4); 27 assert (c.f(2.0) == 3); 28 assert (c.f(c) == 5); 29} 30