【effective C++】不要在构造函数或析构函数内调用虚函数
1.构造函数跟析构函数里面都可以调用虚函数,编译器不会报错!
2.但是由于类的构造次序是由基类到派生类,所以在构造函数中调用虚函数,这个虚函数不会呈现出多态
3.相反,类的析构是从派生类到基类,当调用继承层次中某一层次的类的析构函数时往往意味着其派生类部分已经析构掉,所以也不会呈现出多态。(因此如果在基类中声明的是纯虚函数并且在基类的析构函数中调用之编译器会报错)
1.构造函数跟析构函数里面都可以调用虚函数,编译器不会报错!
2.但是由于类的构造次序是由基类到派生类,所以在构造函数中调用虚函数,这个虚函数不会呈现出多态
3.相反,类的析构是从派生类到基类,当调用继承层次中某一层次的类的析构函数时往往意味着其派生类部分已经析构掉,所以也不会呈现出多态。(因此如果在基类中声明的是纯虚函数并且在基类的析构函数中调用之编译器会报错)