well, here got `a` execution correct since its based on parent class and didn't have to check children, but in `b` i though the `b->f(4)` would call B::f(4), but instead called A::f(4)
`f` is not a virtual function for A and never will be, regardless of what you do in derived classes