Your subject indicates C++, so I might assume that your C++ skills aren't up to the task, maybe? I've generally found that to understand a new language you need to read the book twice. Once to get a comprehensive overview of the language and the second time to study the details now that you know how it all fits together.
In general with an OOP you consider each object (player, attacker(s), etc.) as being able to do what it needs to do; move, accelerate, shoot, turn, hide, whatever. That's where you design the code for the object class and get down to the details. Once that's done and tested you can then concentrate more on the details of the game play. You may have to tweak a class somewhere but the effort put forth in designing it in the first place makes the adjustments easier.
Lilith, Night Butterfly