每次把析构函数定义成virtual是好还是
发布时间: 2013-11-25 13:22:27 作者: rapoo
每次把析构函数定义成virtual是好还是坏?
有人说,析构函数一定要是virtual的,原因大概是你不知道将来是否要被继承
大家说这样好不好
[解决办法]
没必要。
一般来说,只要某个类有一个虚函数或者设计为基类,就应该将析构函数定义为virtual;
但是如果只有析构函数一个虚函数而且没有设计为基类,那么一个虚函数表指针的开销,真的没必要。
[解决办法]
是的,如果可以肯定不存在三条中的某一条,那么就不需要虚析构函数。
[解决办法]你呀弄清析构函数定义成虚函数的原因,析构函数定义虚函数,
pParent = pDerived;
如果你delete pParent;时,希望调用的是派生类的析构函数,这样的话,你就应该把析构函数定义成虚函数