可能重复:
在构造函数中调用虚函数
在 C++ 中,B 类的一个对象从 A 类派生,在 C++ 中,A 的 c'tor 在 B 的 c'tor 之前被调用,为什么?如果 A 的 C'tor 调用虚函数会发生什么?它会调用 A 的 B 的虚函数吗?
可能重复:
在构造函数中调用虚函数
在 C++ 中,B 类的一个对象从 A 类派生,在 C++ 中,A 的 c'tor 在 B 的 c'tor 之前被调用,为什么?如果 A 的 C'tor 调用虚函数会发生什么?它会调用 A 的 B 的虚函数吗?
C++ FAQ 涵盖了您的大部分问题,如果不是全部的话。
例如,请参阅常见问题解答“当我的基类的构造函数在其 this 对象上调用虚函数时,为什么我的派生类对该虚函数的覆盖没有被调用?” .
在询问之前阅读常见问题解答总是一个好主意。