C++构造函数和析构函数中可以调用虚函数吗?

不能。这个问题来自于《Effective C++》条款9:永远不要在构造函数或析构函数中调用虚函数 。

简要结论: 
1. 从语法上讲,调用完全没有问题。 
2. 但是从效果上看,往往不能达到需要的目的。 
Effective 的解释是: 
派生类对象构造期间进入基类的构造函数时,对象类型变成了基类类型,而不是派生类类型。 
同样,进入基类析构函数时,对象也是基类类型。
 

详情参考:

https://blog.csdn.net/henrytien/article/details/80064863

https://blog.csdn.net/davidsu33/article/details/79042011

你可能感兴趣的:(C/C++,C/C++关键知识点汇总)