Probably the new was just a keyword-maloc(). The good thing is that it is a keyword, which is nicer. The bad thing is that if when you use C-code in C++ you will end up with new and malloc() in the same code. Which is worse than using one method, whichever that is.

But don't forget that the idea was to use new with a constructor. Meaning that the function-like part would be the parameters of the constructor. With malloc() you cannot to so. You would need to lines. One for allocation and one for initialization. With new you can do this in one line.

Overloading malloc would be one solution. But not a good one, cause it would probably cause more confusion.