#include <iostream> using namespace std; template <class Class> struct _UuidTraits { }; #define _DEFINE_UUID(Class, uuid) / template <> / struct _UuidTraits<Class>/ {/ static int Guid()/ {/ return atoi(uuid);/ }/ } #define __uuidof(Class) _UuidTraits<Class>::Guid() #define DEFINE_CLSID(Class, guid) / class Class; / _DEFINE_UUID(Class, guid) DEFINE_CLSID(ClassB, "111"); class ClassB { }; void main() { cout<<__uuidof(ClassB)<<endl; }