C++箴言:避免析构函数调用虚函数[组图]
假如你已经从另外一种语言如C#或者Java转向了C++,你会觉得,避免在类的构造函数或者析构函数中调用虚函数这一原则有点违反直觉。但是在C++中,违反这个原则会给你带来难以预料的后果和无尽的烦恼。
正文
更多内容请看C/C++技术专题专题,或
事实上还有比这更具基本的要求。在派生类对象的基类对象构造过程中,该类的类型是基类类型。不仅虚函数依靠于基类,而且使用运行时刻信息的语言的相应部分(例如,dynamic_cast(参见Item 27)和typeid)也把该对象当基类类型对待。
更多内容请看C/C++技术专题专题,或