我对“构造函数不应调用虚拟方法”(在 C++ 中)有疑问。是的,我知道问题所在。问题很清楚。它被描述为例如here
我有一个特别的问题。我从 CppDepent 开始检查我的项目。现在,每次我在构造函数中调用虚函数时,CppDepent 都会警告我。不管函数是否在基类上。如果它是其他类的虚函数,它会发出警告。(见样本)
问题: 在类的构造函数(相同的析构函数)上调用虚函数是否不是基类是一个问题。
class NotABaseClass {
explicit NotABaseClass(){}
virtual void foo_virtual(){};
}
class NotADeriveClass {
explicit NotADeriveClass(){
NotABaseClass notABaseClass;
notABaseClass.foo_virtual();
}
}