#include #include namespace api { namespace v1 { template class handler : public drogon::DrObject { public: static void p() { std::cout << handler::classTypeName() << std::endl; } }; class hh : public handler { }; } // namespace v1 } // namespace api int main() { api::v1::hh h; std::cout << h.className() << std::endl; std::cout << api::v1::hh::classTypeName() << std::endl; h.p(); }