>>480
マクロを使わずにこんなんじゃ駄目だったの?
俺は多重継承でこういういmixin的な使用方法をわりとするけど。

template<typename CLS,int NUM>struct MemoryPool :{
    ...
    ...
    static void * operator new(size_t size) {return alloc(size);}
    static void operator delete(void * p, size_t size) {free(p, size);}
};
class CLS : public MemoryPool<CLS,100>{
    ...
};