a clase @Single tiene un error de redefinición de clase

Soy nuevo en C ++ y tengo un problema con mis definiciones de clase en un archivo de encabezado. El código para el archivo de encabezado (Student.h) es:

#include <string>
using namespace std;

class Student
{
  // Data Members for a Student
  string id;
  string preferences[3];
  int skill;

  // Constructor
 public:
  Student(){}

 public:
  void SetID(string str)
  { this->id = str; }
 public:
  void SetSkill(int i)
  { this->skill = i; }
 public:
  void SetPreferences(int i, string s)
  {
    this->preferences[i] = s;
  }
};

class StudentSchedule
{
 public:
  StudentSchedule(){}
};

El error del compilador dice que la línea 14 (clase Estudiante) es una redefinición de 'Estudiante', y que la línea 15 ({- el paréntesis abierto que sigue a la clase Estudiante) es la definición previa de 'Estudiante'. El mismo error en las dos primeras líneas consecutivas existe para la clase StudentSchedule.

No tengo archivos .c, .cpp o .h en ninguna parte de mi compilación que defina ninguna clase. No tengo idea de por qué recibo este error.

Respuestas a la pregunta(8)

Su respuesta a la pregunta