void Employee::output() const
{
    DayOfYear bday;
    bday = get_birthday();
    
    cout << "------------------------------\n";
    cout << "id=" << get_id() <<endl;
    cout   << "name=" << get_name() << endl;
    cout << "birthday=" << bday.get_day();
    cout << "-" << bday.get_month();
    cout << "-" << bday.get_year() << endl;
    cout << "#emails=" <<get_num_emails()<<endl;
    cout << " 1st email=" <<getEmail(0)<<endl;
    cout << "base salary="<<getBaseSal()<<endl;
    cout << "current salary="<<getCurrentSal() <<endl;
    cout << "rate=" <<retrieveInterest() <<endl;
    cout << "year=" <<getDuration()<<endl;
    cout << "------------------------------\n";
    
}
//Taken from Yang's student.cpp
ostream& operator<<(ostream& out, const Employee& std)
{
    DayOfYear bday;
    bday = std.get_birthday();
    
    out << "------------------------------\n";
    out << "id=" << std.get_id() <<endl;
    out   << "name=" << std.get_name() << endl;
    out << "birthday=" << bday.get_day();
    out << "-" << bday.get_month();
    out << "-" << bday.get_year() << endl;
    out << "#emails=" <<std.get_num_emails()<<endl;
    out << " 1st email=" << std.getEmail(0)<<endl;
    out << "base salary="<<std.getBaseSal()<<endl;
    out << "current salary="<< std.getCurrentSal() <<endl;
    out << "rate=" << std.retrieveInterest() <<endl;
    out << "year=" << std.getDuration()<<endl;
    out << "------------------------------\n";
    
    return out;
}