operator delete
今日のアホなプログラム。
// このクラスを継承すると、 // メモリプールからメモリが確保されるようになる。 class memory_pool{ public: void* operator new( size_t size ); void operator delete( void* p ); void* operator new( size_t size ); void operator delete( void* p ); }; class Base{ public: virtual ~Base(){}; virtual void func() = 0; }; class Inherit : public Base{ public: virtual void func(); }; // このクラスはメモリプールから確保 class Inherit2 : public Base , public memory_pool{ public: virtual void func(); };
Base* var = new Inherit(); Base* var2 = new Inherit2(); ... delete var; delete var2;