Código
El '\n' no hace falta porque ya es el delimitador por defecto.
string nombre; getline(cin,nombre);
El problema de esto esque hagas:
Código
int a; string nombre; cin>>a; getline(cin,nombre);
El cin lee el número, pero se deja el salto de línea. Eso hace que el getline solo lea eso y acabe.
La solución es descartar el salto de línea y seguir:
Código
int a; string nombre; cin>>a; cin.ignore(); // descartar el salto de linea getline(cin,nombre);