class Student
{
public:
   void ReportHeader();
};

class Grad : public Student
{
public:
  void GradeReport();		// prints grad specific info

};

class Undergrad : public Student
{
public:
  void GradeReport();

};

---------------------------------

void Student::ReportHeader()
{
   // THIS CODE -- print out core info -- name, address, etc
}

void Grad::GradeReport()
{
   ReportHeader();		// call parent function to do common work
   // print out grade info specific to grads
}

void Undergrad::GradeReport()
{
   ReportHeader();		// call parent function to do common work
   // print out grade info specific to undergrads
}





