I don't know anything about Box2D, but looking at the code
for (b2Body* it = World.GetBodyList(); it != 0; it = it->GetNext())
{
b2Vec2 pos = it->GetPosition();
float angle = it->GetAngle();
sBall.setPosition(pos.x * SCALE, pos.y*SCALE);
sBall.setRotation(angle * DEG);
window.draw(sBall);
}
Won't iterating over World.GetBodyList() give you 4 objects (3 walls and 1 ball)? Which means for each object, including the walls, you are moving the ball sprite to its location and drawing it. Seems pretty straightforward, but I may be misunderstanding something.