title: expected class name before '{' token. C++ inheritance
body: <p>I've spent quite a few hours researching and trying to figure out why I'm getting this error. Basically the three files that have to do with the inheriting are CollegeMember.h, Employee.h, and EmpAcademicRecord.h. Employee. is inheriting from CollegeMember.h and EmpAcademicRecord.h is inheriting from Employee.h. Like this CollegeMember &lt;- Employee &lt;- EmpAcademicRecord. The error occurs in EmpAcademicRecord.h. Heres the three files.</p>
  
  <p>CollegeMember.h</p>
  
  <pre><code>#include &lt;cstdlib&gt;
  #include &lt;iostream&gt;
  #include&lt;ctype.h&gt;
  #include&lt;string.h&gt;
  #include "Employee.h"
  #include "Student.h"
  using namespace std;
  
  // ****************************************************************************  
  // Class Definitions follow
  typedef char* String;
  
  // The CollegeMember class
  class CollegeMember
  {
    protected:
   int ID_Number;
   string FirstName, LastName;
   string AddressLine1, AddressLine2, StateProv, Zip;
   string Telephone;
   string E_Mail;
   string answer, answer2, answer3, answer4;//used as sort of booleans for use with        validation
  
   // member functions
  public:
   CollegeMember ( ); // constructor
   CollegeMember(const CollegeMember&amp;); //overloaded constructor
   void Modify (CollegeMember Member);
   void InputData(int x);
   string Summary ( ); //summary
   string PrintMe(); //fully describes
  }; // End of CollegeMember class declaration
  </code></pre>
  
  <p>Employee.h</p>
  
  <pre><code>#include &lt;cstdlib&gt;
  #include &lt;iostream&gt;
  #include&lt;ctype.h&gt;
  #include&lt;string.h&gt;
  #include "EmpAcademicRecord.h"
  #include "EmpEmploymentHistory.h"
  #include "EmpExtraCurricular.h"
  #include "EmpPersonalInfo.h"
  #include "EmpPublicationLog.h"
  
  using namespace std;
  
  // ****************************************************************************
  // Class Definitions follow
  typedef char* String;
  
  // The Employee Class
  class Employee: protected CollegeMember
  {
   float Salary;
   protected:
   string Department, JobTitle;
   // Member Functions
  public: 
   Employee ( );      // constructor
  void Modify (Employee ThisEmp);
   void InputData(int x);
   void SetSalary (float Sal) // Specified as an in-line function
   { Salary = Sal;}
   float GetSalary ( ) {return Salary;} // Specified as an in-line function
  string Summary ( ); //summary 
   string PrintMe(); //fully describes
  }; // End of Employee class declaration
  </code></pre>
  
  <p>EmpAcademicRecord.h</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;cstdlib&gt;
  #include&lt;ctype.h&gt;
  #include&lt;string.h&gt;
  
  using namespace std;
  
  typedef char* String;
  
  class EmpAcademicRecord: protected Employee{ //error occurs on this line
        protected:
                  int ReferenceNumber;
                  string Institution;
                  string Award;
                  string start;
                  string end;
  
                  public:
                         EmpAcademicRecord();
                         void InputData (int x);
                         void Modify(EmpAcademicRecord ThisRec);
                         void Summary();
  
        };
  </code></pre>
  
  <p>Any help with this would be greatly appreciated.</p>