Not exactly. You can make custom entities act similarly to other shapes by inheriting from SFML base classes rather than inheriting from the shapes themselves.
I'm thinking something like this:
class Wall : public sf::Drawable, public sf::Transformable
{
public:
Wall():
m_rectangle({ 1.f, 1.f })
{
}
private:
sf::RectangleShape m_rectangle;
virtual void draw(sf::RenderTarget& target, sf::RenderStates states)
{
states.transform *= getTransform();
states.texture = NULL;
target.draw(m_rectangle, states);
}
};
Wall wall;
You can then do
window.draw(wall); and
wall.rotate(25); etc. and you can also include functions to alter textures or HP (for example).
DISCLAIMER: the above code wasn't tested; it's the idea the counts