Couldn't agree more. This transformation is easy to do when you have a single member function, not when you have dozens of them, and more class trees for other parts of your system. Not to mention that they picked up only the simple shapes, where it's possible to multiply width by height and then by some factor :)
BTW, for the "corner count" example, I think common guidelines would suggest making it a data member that is saved in the base class and initialized by the c-tor, not a virtual function (but some maybe wouldn't, as it increases the size of each object).