I always think of having to use pointers for polymorphism. Using the canonical example:
DrawEngine::render(Shape *shape) { shape->draw(); shape-&g
With regard to polymorphism, references work just like pointers.