C++ allows overloading operator new - both global and per-class - usual operator new, operator new[] used with new[] stat
operator new
operator new[]
new[]
One example is at Stroustrup's FAQ.