Well, I think that you should try something like this (psuedo-code):
if placeFree(Object1.X position + movementFactorX, Object1.Y position + movementFactorY)...
placeFree would certainly ask for a Rect and not for a Vector (point), but I think that you may get the idea, tho
let's say
bool PlaceFree(const sf::Rect& o_Rect)
{
if there is any object (INTERFACE NEEDED?) in the area of this Rect return false
else return true
}
Hope it was helpful