The >> operator leaves white space AND newlines on the input stream.
So when the getline comes along (with it's newline only delimiter), it is immediately satisfied by the newline left behind.
...