lots of things are wrong here :/
ostream & operator <<( ostream & os, const Employee E2 & E2)
you cant use the & symbol when declaring a function i dont think, you have to specifiy it as 2 seperate variables and declare then thus.
In your header file you have specified payrate, hours etc as private but then in the class you are trying to access them directly, you will need to use the getter's and setter to access them.
Still going through the file will report back other things.
I looked into it, it is a mess i would think about re-reading up on this stuff you have a lot wrong and personally i cant fix it