GeometricObject void Draw(); Two_D_Object Rectangle ---------------- GeometricObject g; Two_D_Object t; Rectangle r; g.Draw(); // t.Draw(); // r.Draw(); // 1) Look at the calling OBJECT (left of the dot-operator) 2) What is the TYPE of the calling object? 3) That's the class I go to, to look for the function 4) If it's there, that's the one. 5) If not, go to the parent. Rinse and repeat.