and, if a class doesn't have that method, could happend two things: if this method is part of the virtual tree, its checked in its parent class, then parent class, etc, until it finds it or not. In case this method is not part of the virtual tree, then it gets an error of a not defined method, right?
it's not fully clear to me what you call virtual tree, but nonetheless as long as there is a non-ambiguous "most derived" implementation for the virtual function, that's what will be used