Can anyone tell me why, when I set a private string variable in a class in one function. when i go to another function and use a getXXX() function to get that private variable it comes back empty.
You have declared a Player user in your main() function, but you have also declared a global Player user in your combat.cpp as well as another local Player user in your movelocation function.
These are all separate variables. You have three separate variables in your program called user, and this is possible because they are all in different scopes.
The easiest, though not exactly proper, way to resolve this is:
1. Move your global declarations of Player and Opponent out of combat.cpp and into main.cpp (before your main() function).
2. Delete the local declarations in main() and movelocation().
Using globals generally isn't recommended, but I wouldn't worry about that for now.
Using goto though, is highly discouraged at all levels. Replace it with a proper looping structure, either while(), or do/while().