==child class在构造时,需要首先构造基类。在基类的构造期间,virtual函数的virtual性质是不能体现的,不能发生动态绑定,在构造函数中调用的virtual函数,难以确定是基类的还是子类的virtual函数。==
子类在其基类部分的构造期间,它的type就是基类而不是自身
==derived class在构造期间,首先构造基类部分,然后构造自身部分;当处于基类构造部分的时候,它就是子类,而不是自身type。这时,不论是RTTI还是typeid都会得到基类类型而不是自己这个派生类类型。==
子类在析构函数释放其子类部分后(剩余基类部分),它的type从自身的类型变成基类类型
==析构函数首先释放派生类部分,再释放基类部分。当派生类部分被释放后,剩下基类部分,此时,该对象的type从自身类型(派生类类型)变为基类类型;RTTI和typeid的结果也跟着发生变化。==
本人公众号:taojuxiu