Basically, I'm creating objects from the class "Entity". I then call the function playerAttack(Player, Monster) which puts the created objects back into the class where it came from. Is this by standard the create way of doing it? I started watching C++ videos yesterday and I just took everything I learned and threw it all in so I don't know if it's the "Correct" way of doing things.
Non-static member functions have to be invoked by a calling class object – in your playerAttack() I think this is the role you envisage for the Entity object Player in which case it needs to be moved out of the function's argument list and become this object for invoking playerAttack()
I'm not sure whether of not to suggest also that playerAttack() should be const qualified. I can see Enemy health could certainly change in this method from here:
Enemy.setHealth(0);
but there doesn't seem to anything corresponding to this for the object Player which might be revised into this object as discussed previous paragraph