enlighten me please how can I make a copy of an sf::Sprite
Thank you.
You can always use the copy constructor without it being declared and defined by the programmer because your compiler will generate it for you with the default semantics, as long as the programmer does not forbid the default generated ones ( =delete; in C++11).
This is not visible because the default versions of dtor, copy ctor, copy assignment, move ctor and move assignment are not exposed in the API. This is accounted for in C++11 too, where you can explicitly define them in the API with =default; (which SFML doesn't actually do because it doesn't use C++11 yet)
And yes, you should read a book about the C++ basics.