// Martian Adam Smyth
// CS510 Assignment 1
// Graduate Student Class

#include "grad.h"

Grad::Grad(const char *n, const char *ssn, long bd, float g, int c, int h, Array<String> degs, char *dpt, char *dg) : Student(n,ssn,bd,g,c)
{
  degrees = degs;
  dept = dpt;
  deg = dg;
  credits = h;
}

void Grad::print()
{
  Student::print();
  cout << "  Dept: "<<dept<<"  Degree: "<<deg<<"  Credits: "<<credits<<"  Previous Degrees:";
  for(int i=0; i < degrees.size(); i++)
    cout <<"  "<<degrees[i];
}

LinkElement *Grad::makecopy()
{
  Grad *dest = new Grad;

  dest->setname(getname());
  dest->setssn(getssn());
  dest->setbd(getbd());

  dest->setgpa(getgpa());
  dest->setyear(getyear());

  dest->setdegrees(getdegrees());
  dest->setdept(getdept());
  dest->setdeg(getdeg());
  dest->setcredits(getcredits());

  dest->linkto(next());
  dest->setkey(getkey());

  return dest;
}

