Вы не указали операционную систему. Если у вас linux (или что-то подобное) -
вот тут есть решение при помощи
select.
В общем случае вы можете запустить отдельный поток, который в цикле выводит то, что вам нужно, и проверяет был ли установлен ивент (
WaitForSingleObject, с таймаутом 0). В главном потоке создаёте ивент (
CreateEvent), ждёте как обычно _getch, когда символ введён - используете
SetEvent чтобы сигнализировать об этом второму потоку, также есть функция ResetEvent - чтобы сбросить ивент после обработки (чтобы можно было в цикле после следующего введённого символа его ещё раз установить). Это уже для windows.
Ну и да, _getch это ни разу не C++, а голый C.