析构函数 为什么是虚的?

http://www.cnblogs.com/wangkangluo1/archive/2012/05/11/2496589.html

注:

1.析构函数其实是一个函数,不论子类还是父类,虽然可能看起来名字不一样。而且析构函数执行过程都是执行子类再到父类。

2.多态的时候一定要将析构函数写成虚函数,防止内存泄露,各个子类维护自己内部数据释放。



virtual 是实现多态的基础
它使得具体的函数跳转从编译时推迟到运行时然而构造函数的调用是编译器期间就决定的,因此它不能为虚

猜你喜欢

转载自wwwjjq.iteye.com/blog/1678323