This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Object is of class C so C's g() is called(which is the one it inherits from B bcoz does not have it's own g()). Now this g() calls f(). Shouldn't it call C's f() because underlying object is C. Why does it call B's f() ?