| class A | |
| { | |
| }; | |
| int operator== (A, int) | |
| { | |
| return 11; | |
| } | |
| int operator== (A, char) | |
| { | |
| return 12; | |
| } | |
| //------------------ | |
| namespace B | |
| { | |
| class C | |
| { | |
| }; | |
| int operator== (C, int) | |
| { | |
| return 22; | |
| } | |
| int operator== (C, char) | |
| { | |
| return 23; | |
| } | |
| namespace BD | |
| { | |
| int operator== (C, int) | |
| { | |
| return 24; | |
| } | |
| } | |
| } | |
| //------------------ | |
| class D | |
| { | |
| }; | |
| namespace | |
| { | |
| int operator== (D, int) | |
| { | |
| return 33; | |
| } | |
| int operator== (D, char) | |
| { | |
| return 34; | |
| } | |
| } | |
| int operator== (D, float) | |
| { | |
| return 35; | |
| } | |
| //------------------ | |
| class E | |
| { | |
| }; | |
| namespace F | |
| { | |
| int operator== (E, int) | |
| { | |
| return 44; | |
| } | |
| int operator== (E, char) | |
| { | |
| return 45; | |
| } | |
| } | |
| int operator== (E, float) | |
| { | |
| return 46; | |
| } | |
| using namespace F; | |
| //----------------- | |
| class G | |
| { | |
| public: | |
| int operator== (int) | |
| { | |
| return 55; | |
| } | |
| }; | |
| int operator== (G, char) | |
| { | |
| return 56; | |
| } | |
| //------------------ | |
| class H | |
| { | |
| }; | |
| namespace I | |
| { | |
| int operator== (H, int) | |
| { | |
| return 66; | |
| } | |
| } | |
| namespace ALIAS = I; | |
| //------------------ | |
| class J | |
| { | |
| }; | |
| namespace K | |
| { | |
| int i; | |
| int operator== (J, int) | |
| { | |
| return 77; | |
| } | |
| } | |
| using K::i; | |
| //------------------ | |
| class L | |
| { | |
| }; | |
| namespace M | |
| { | |
| int operator== (L, int) | |
| { | |
| return 88; | |
| } | |
| } | |
| namespace N | |
| { | |
| using namespace M; | |
| } | |
| using namespace N; | |
| //------------------ | |
| namespace O | |
| { | |
| namespace P | |
| { | |
| using namespace ::O; | |
| } | |
| using namespace P; | |
| } | |
| using namespace O; | |
| class test { }; | |
| test x; | |
| //------------------ | |
| int main () | |
| { | |
| A a; | |
| a == 1; | |
| a == 'a'; | |
| B::C bc; | |
| bc == 1; | |
| bc == 'a'; | |
| B::BD::operator== (bc,'a'); | |
| D d; | |
| d == 1; | |
| d == 'a'; | |
| d == 1.0f; | |
| E e; | |
| e == 1; | |
| e == 'a'; | |
| e == 1.0f; | |
| G g; | |
| g == 1; | |
| g == 'a'; | |
| H h; | |
| I::operator== (h, 1); | |
| J j; | |
| K::operator== (j, 1); | |
| L l; | |
| l == 1; | |
| return 0; | |
| } |