Getch es para detectar si se ha pulsado una tecla o no. No entiendo la función que tendría en el hecho de detener el programa. ThunderCls, he usado tu código y no funciona.
El codigo de ejemplo que te puse fue solo una guía, igual no lo he probado, aunque supongo que lo probaste dentro de un hilo diferente al winmain, cierto?. Como perfectamente te ha explicado NEBIRE, C++ no es un lenguaje trivial, así que no creas que seras un experto o que lograras codear todo lo que desees en un par de semanas.
La función cin.get() es una función síncrona, lo que significa que tu hilo principal se bloqueara al llamar a dicha función y solo continuara una vez haya leído una linea completa de la consola. Hasta donde se C++ no posee ninguna funcion estandar de entrada sin bloqueo del hilo principal. Las implementaciones de dichas funciones son dependiente de plataforma, en tu caso la solución al problema es fundamentalmente dependiente del sistema operativo, si en tu caso se trata de Windows, pudieras revisar algunas de estas opciones:
1- Instalar un hook de teclado con SetWindowsHookEx
https://stackoverflow.com/questions/10049764/detecting-escape-keypress-in-console-mfc-program2- Usar un Control Handler Función con SetConsoleCtrlHandler
https://docs.microsoft.com/en-us/windows/console/registering-a-control-handler-function3- Usar la función GetAsyncKeyState en un hilo separado a winmain
4- Usar _kbhit/_getch en un loop
https://stackoverflow.com/questions/6171132/non-blocking-console-input-c*- Una opción multiplataforma seria usar la función cin.get() en un hilo separado del hilo de ejecución principal (como mi primer mensaje)
Para Linux y demás SO podrías hacer tus búsquedas en google: "Non-blocking console input C++"