Como dijo dehm, te falta incluir iostring o string en todos los ficheros que declares un string.
Un string no es un tipo de datos básico corriente como lo es char o int, si no que es una
clase. Al igual que haces el include de "LibroCalificaciones.h" el el archivo "LibroCalificaciones.cpp" debes hacer el include de iostream o string en todos los ficheros donde declares un std::string, si usas std::cin, std::cout, std::endl etc, entonces es iosting. =)
El problema que si sales a lo loco haciendo includes de iostream o cualquier otro fichero en todos los lados repetidas veces vas a tener problemas de doble inclusión(problemas por incluir 2 o más veces el mismo archivo), sobre todo en los *.h, por lo que vas a tener que usar el sistema de
guard. Vea este vídeo para entender el problema:
https://www.youtube.com/watch?v=N3yLYgUR-UI