It could be that your program exits before the destructors are actually called, e.g. the objects are destructed AFTER your return 0;, not any time before.
you actually are getting the desired output. But like firedraco said, the dtors are called after the return -- so your cin.get() line is stalling your program before the dtors are called.
if you remove the cin.get line and run your program from the command prompt (or get your IDE to keep the console open after the program exits), you will see output as expected.
Is it possible that the program prints 10 10 then waits and when you give it input it prints the rest then terminates the console before you see the output?