newとdeleteのオーバーロードの書き方は次の通り。メモリー割り当て、解放はmalloc()とfree()を使った。
void *operator new(size_t size) { void *p; p = malloc(size); if(!p) { bad_alloc ba; throw ba; } return p; } void operator delete(void *p) { free(p); }
配列の場合
void *operator new[](size_t size) { void *p; p = malloc(size); if(!p) { bad_alloc ba; throw ba; } return p; } void operator delete[](void *p) { free(p); }