Example 1: Program output.
sizeof(IShape) = 8 timing 5000000 calls to IShape::MoveBy() ... time elapsed (msec): 187 sizeof(AbcShape&) = 16 timing 5000000 calls to AbcShape&::MoveBy() ... time elapsed (msec): 485 sizeof(IMoveable) = 8 timing 5000000 calls to IMoveable::MoveBy() ... time elapsed (msec): 203 sizeof(AbcMoveable&) = 4 timing 5000000 calls to AbcMoveable&::MoveBy() ... time elapsed (msec): 484 sizeof(Circle&) = 12 timing 5000000 calls to Circle&::MoveBy() ... time elapsed (msec): 156 sizeof(NaiveCircle&) = 28 timing 5000000 calls to NaiveCircle&::MoveBy() ... time elapsed (msec): 469 sizeof(Circle) = 12 timing 5000000 calls to Circle::MoveBy() ... time elapsed (msec): 79 sizeof(NaiveCircle) = 28 timing 5000000 calls to NaiveCircle::MoveBy() ... time elapsed (msec): 344