In this case, f is not virtual, is called through being `A` class. Then it calls g(x*x), but in this class g is a virtual method, so it checks the most derived version that has been created. As this is a `B`object, the most derived one is the g version from its class
yes