《Effective C++ 中文版 第三版》读书笔记
条款 09:绝不在构造和析构过程中调用 virtual 函数
如果一个类有多个构造函数,每个都须执行相同的工作,那么避免代码重复的一个优秀的做法是把共同的初始化代码放进一个初始化函数如 init 内。但是,这种函数比较容易潜藏危害,因为如果其中包含虚函数通常不会引发编译器和连接器的抱怨。
请记住:
在构造和析构期间不要调用 virtual 函数,因为这类调用从不下降至 derived class(比起当前执行构造函数和析构函数的那层)。