条款 09:绝不在构造和析构过程中调用 virtual 函数

Effective C++ 中文版 第三版》读书笔记

条款 09:绝不在构造和析构过程中调用 virtual 函数

如果一个类有多个构造函数,每个都须执行相同的工作,那么避免代码重复的一个优秀的做法是把共同的初始化代码放进一个初始化函数如 init 内。但是,这种函数比较容易潜藏危害,因为如果其中包含虚函数通常不会引发编译器和连接器的抱怨。

请记住:
在构造和析构期间不要调用 virtual 函数,因为这类调用从不下降至 derived class(比起当前执行构造函数和析构函数的那层)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容