Examples
Shape s; Circle c;Shape* sp; Circle* cp;
Shape& sr = /* something */;Circle& cr = /* something */;
s.draw(); // Shape::drawc.draw(); // Circle::draw
sp->draw(); // depends on the objectcp->draw(); // depends on the object
sr.draw(); // depends on the object cr.draw(); // depends on the object