It simply goes through and clears all the vectors, and initializes the variables to the defaults that I want them to be (Basically the default constructor but I wanted to be able to call it whenever I want).
Interesting...I have another vector <object> in my player class called inventory, and loading THAT works fine...I also checked &Player like you said and it seems all perfectly fine...none of the members seem glitchy or anything, and none of them have changed since I was updating them in the function.
If object is a base class for different subtypes that you are storing in the vector, then you want to store object pointers in order to access virtual functions (and in particular, object's destructor should be virtual).
I thought it was rather odd to be calling vector's reserve function inside the operator>> with a hard coded value. You stated that your reset function clears the vector prior to making the call to operator>>. If the vector was previously filled, clearing it would not deallocate the memory anyway. Clear doesn't do that. It reduces the size to zero, but not the capacity. It is hard to learn anything from your experience without seeing more of the code. Glad you found the problem though.