先来看这句话:
只有在通过基类指针(或引用)间接指向派生类子类型时多态性才会起作用。派生类的指针只调用自己的函数!基类指针的函数调用如果有virtual则根据多态性调用派生类的函数,如果没有virtual则是正常调用基类的函数。
根据这个结论,设想:如果出现用基类指针指向派生类的情况,那么在销毁这个指针对象时候。若基类的析构函数不是虚函数,那么该指针就只会调用基类的虚构函数,而派生类的析构函数就不会被调用。派生类的对象就没有被完全销毁,这样一来,就会占据内存空间,造成内存泄漏。
先来看这句话:
只有在通过基类指针(或引用)间接指向派生类子类型时多态性才会起作用。派生类的指针只调用自己的函数!基类指针的函数调用如果有virtual则根据多态性调用派生类的函数,如果没有virtual则是正常调用基类的函数。
根据这个结论,设想:如果出现用基类指针指向派生类的情况,那么在销毁这个指针对象时候。若基类的析构函数不是虚函数,那么该指针就只会调用基类的虚构函数,而派生类的析构函数就不会被调用。派生类的对象就没有被完全销毁,这样一来,就会占据内存空间,造成内存泄漏。