链接:
来源:牛客网析构函数做最后的“清场工作”,
一般当派生类对象从内存中撤销时,先调用派生类的析构函数,再调用基类析构函数;
但,若用new建立了临时对象,在用delete撤销对象是,系统会只执行基类的析构函数,而不执行派生类的析构函数。
如果将基类的析构函数声明为虚函数,由基类所有派生类的析构函数自动成为虚函数(即使析构函数名不同)。
将析构函数加上vitual,实现具体对象的 动态关联 ,在运行阶段,先调用派生类析构,在调用基类析构
本文共 272 字,大约阅读时间需要 1 分钟。
链接:
来源:牛客网析构函数做最后的“清场工作”,
一般当派生类对象从内存中撤销时,先调用派生类的析构函数,再调用基类析构函数;
但,若用new建立了临时对象,在用delete撤销对象是,系统会只执行基类的析构函数,而不执行派生类的析构函数。
如果将基类的析构函数声明为虚函数,由基类所有派生类的析构函数自动成为虚函数(即使析构函数名不同)。
将析构函数加上vitual,实现具体对象的 动态关联 ,在运行阶段,先调用派生类析构,在调用基类析构
转载于:https://www.cnblogs.com/huhui/p/6930695.html