Usa la función getch() de conio.h. Es una función de C, no de C++, pero la puedes utilizar igual. Supongo que tu pregunta no será porque quieras utilizar solo nuevas funciones de C++ :-?
Ej:
#include <conio.h>
#include <stdio.h>
void main {
int c;
c = getch();
printf("%d", c);
}
Para el intro c valdrá 13. Para teclas especiales (como las flechas) siempre te devuelve un 0.
Para saber qué tecla exactamente es, tienes que hacer un nuevo getch(), cuyo valor
determina la tecla exacta:
...
void main() {
c = getch();
switch (c) {
case 13:
// Tecla intro
....
break;
case 0:
// Tecla especial. Ejecutamos un nuevo getch(), que no esperará una nueva tecla,
// pues las teclas especiales son, para el programador, como "dos pulsaciones".
c = getch();
....
}
}
Los valores concretos de cada tecla, tendrás que mirarlo tú con el primer programita (bueno, mejoralo un poco ;-) ) para sacar los valores de las teclas especiales que te interesen.
Espero que te sirva...