你不该在构造函数和析构函数期间调用virtual函数,因为这样的调用会带来你意想不到的结果,就算有你也不高兴。
1. base classes 构造期间virtual函数绝不会下降到derived classes 阶层。
2. 在derived classes 对象的base classes 构造期间,对象类型是 base classes 而不是 derived classes。不只virtual 函数会被编译器解析至base class ,若使用运行期类型信息,也会把对象视为 base class 类型。