And*_*owl 10
是否可以从抽象类构造函数中调用虚方法?
从技术上讲,它是可能的,但它不会像你期望的那样工作,所以不要这样做,因为派生类的虚拟表还没有构建.
当从构造函数调用虚函数时,将调用正在构造的类的实现,如果您调用的虚函数是纯函数,则会得到未定义的行为.
根据C++ 11标准的第10.4/6段:
可以从抽象类的构造函数(或析构函数)调用成员函数; 对于从这样的构造函数(或析构函数)创建(或销毁)的对象,直接或间接地对纯虚函数进行虚拟调用(10.3)的效果是未定义的.