Your "drawCup1()" function has "_cup1Sprite.setPosition()" which will set the absolute position of the sprite on the window using the coordinates you gave it.
Since your function is called each time you call "drawToWindow.drawCup1()", which is also called
after the "update" function, it will always negate the positions you changed inside "update" function and will have the same position on the screen.
Simply set the sprite starting position elsewhere.
Also, you don't need to move sprite like this:
sf::Vector2f pos = this->_cup1Sprite.getPosition();
pos.x+=10;
this->_cup1Sprite.setPosition(pos);
Move it like this:
_cup1Sprite.move(10,0);
By the way, loading the texture each frame is bad idea. Load it only once and keep it alive as long you need it.
edit: Argh.. 20 seconds late