Broken when compiled on VS2012:
SmallObj.cpp(1201): error C2248: 'std::bad_alloc::bad_alloc' : cannot access private member declared in class 'std::bad_alloc'
...\Microsoft Visual Studio 11.0\VC\include\exception(379) : see declaration of 'std::bad_alloc::bad_alloc'
...\Microsoft Visual Studio 11.0\VC\include\exception(364) : see declaration of 'std::bad_alloc'
Attached is my solution.