In C++, if you want to mimic malloc style behavior in
pure C++ way then write
Box *b = (Box *) operator new (sizeof (Box)); // statement 1
By this I mean the constructor of Box will not be invoked
as you expect with malloc. Note that this is NOT equivalent to
Box * b = new Box; // Statement 2
because doing that invokes the constructor.
Statment 1 is know as "operator new"!!
Statment 2 is know as "new operator"!!
You have to match statement 1 by
operator delete(b); // does not invoke destructor
and statement 2 by
delete b; // invokes destructor