Si, in effetti il codice è in C++ ma le chiamate alle API sono in C puro.(Non troverai mai un #include <string> in alcun esempio che si interfacci alle API di Windows)
La guida è una lista abbastanza completa su come utilizzare le API per gestire la console di Windows.
Dubito fortemente che un #include <windows.h> nel tuo codice generi un compilato per funzionare al dir fuori di Windows.
E' probabile che all'avvio, da DOS puro, il compilato ti segnali una cosa del genere:
"This program can be run under Windows"
oppure
"This program can't be run in DOS mode"
Forse mi sbaglio, non lo metto in dubbio, ma per esempio con DEV-C++ posso scordarmi di utilizzare il codice compilato in DOS puro.
Ps: Ho editato perchè avevo scritto una vaccata:
"This program can't be run under Windows"
Scusate