Das einfachste wäre eben das selber abzufangen. Dafür holst du statt einen Integer erst einmal einen String aus cin raus und überprüfst dann ob es sich um eine Zahl handelt oder nicht.
Ich habe kaum mit C++ gearbeitet aber die String-Klasse hat mWn eine Funktion um aus dem String einen Integer zu erzeugen. Die Überprüfung ob nur Zahlen vorhanden sind sollte mit einer for-schleife einfach zu lösen sein (falls die Klasse nicht auch da etwas bereit hält). Durchstöber mal die Referenz zur String-Klasse (#include <string>) ob es etwas passendes gibt.