#include <iostream>
namespace hoge {
class X {
public:
void test(){ std::cout << "in hoge namespace X.test" << std::endl;}
};
class XX {
public:
class YY {
public:
void test(){std::cout << "in hoge namespace XX::YY.test" << std::endl;}
};
};
};
namespace fuga {
class X {
public:
void test(){ std::cout << "in fuga namespace X.test" << std::endl;}
};
class XX {
public:
class YY {
public:
void test(){std::cout << "in fuga namespace XX::YY.test" << std::endl;}
};
};
};
namespace {
class X {
public:
void test(){ std::cout << "in anonymous namespace X.test" << std::endl;}
};
class XX {
public:
class YY {
public:
void test(){std::cout << "in anonymous namespace XX::YY.test" << std::endl;}
};
};
};
int somefunction(){
class X {
public:
void test(){ std::cout << "in somefunction X.test" << std::endl;}
};
class XX {
public:
class YY {
public:
void test(){std::cout << "in somefunction XX::YY.test" << std::endl;}
};
};
X().test();
XX::YY().test();
return 0;
}
int main(){
somefunction();
X().test();
XX::YY().test();
hoge::X().test();
hoge::XX::YY().test();
fuga::X().test();
fuga::XX::YY().test();
}