Putting all aesthetic considerations aside... Which alternative is preferrable? My main concerns are build times, keeping the code readable and easy to mantain, and of course, that it compiles.
I've seen most books define everything in a .cpp file, a la C#, but... Won't that worsen build time? Ok, it might well be that unmanaged C++ rationale doesn't work with managed C++/CLI, BUT please consider a transition scenario: An unmanaged C++'s projects classes are moved into a C++/CLI project, and the whole monster builds OK, and sits there waiting for a brave guy (me, ahem) to translate the unmanaged classes to managed ones, gradually and with a backing test harness, of course.
I digressed a little, but I wanted you to consider my unusual situation (managed and unmanaged interaction) when answering.