Suppose I have a base class A and a derived class B. B's constructor calls the constructor of A, in which I call a function, say
This is correct. Superclasses are constructed first. Derived classes get constructed only after the superclasses are constructed. Until your superclass
A is constructed, none of its virtual methods are overridden, and calling them will invoke
A's virtual method. If they are pure and not defined, this results in undefined behavior.