C++虚函数简单介绍
如果派生类在继承了基类后直接重写了基类的某个方法,当使用基类指针指向派生类实例时,调用的方法其实是调用的父类的方法。要实现多态,则需要使用虚函数。(动态多态性)
内存泄露
如果同样是上面的情况,需要释放两个指针指向的空间时,则会造成内存泄漏,因为在默认情况下调用的析构函数是基类的析构函数,而没有调用子类的析构函数。
1 |
|
如果在基类的析构函数声明虚函数,这样基类指针指向的是哪个对象,销毁的时候派生类的析构函数也会执行,再执行基类的析构函数。
如果派生类在继承了基类后直接重写了基类的某个方法,当使用基类指针指向派生类实例时,调用的方法其实是调用的父类的方法。要实现多态,则需要使用虚函数。(动态多态性)
如果同样是上面的情况,需要释放两个指针指向的空间时,则会造成内存泄漏,因为在默认情况下调用的析构函数是基类的析构函数,而没有调用子类的析构函数。
1 |
|
如果在基类的析构函数声明虚函数,这样基类指针指向的是哪个对象,销毁的时候派生类的析构函数也会执行,再执行基类的析构函数。
国内查看评论需要代理~