I guess you didn't understand how the graphical ordering works in SFML.
SFML draws everything in the order you call draw on them. For example
window.draw(sprite1);
window.draw(sprite2);
Draws
always sprite1 first and then sprite2. If they overlap, sprite2, since it gets drawn last, will be drawn over sprite1.
window.draw(sprite2);
window.draw(sprite1);
Draws
always sprite2 first and then sprite1. If they overlap, sprite1, since it gets drawn last, will be drawn over sprite2.
I hope that helped.