美文网首页
父类的析构函数为虚函数

父类的析构函数为虚函数

作者: 奥斯特洛司机 | 来源:发表于2019-04-13 15:19 被阅读0次

当父类指针指向子类对象的时候,delete父类的指针,如果父类的析构函数不为虚函数,则调用父类的析构函数,子类的对象并没有得到释放。

而当父类的析构函数为虚函数,则delete父类指针时,调用的是子类的虚构函数(自动被重写),而析构子类对象后自动会调用父类的析构函数。

相关文章

  • 2020-02-10 C++基础2

    1:为什么析构函数必须是虚函数?为什么C++默认的析构函数不是虚函数? 将可能会被继承的父类的析构函数设置为虚...

  • 父类的析构函数为虚函数

    当父类指针指向子类对象的时候,delete父类的指针,如果父类的析构函数不为虚函数,则调用父类的析构函数,子类的对...

  • C++第9天: 第137-第142课 纯虚函数,抽象类,虚析构,

    纯虚析构,防止父类指针无法访问子类析构函数

  • ★03.关于单继承

    基类总是要写虚析构函数 通过设置析构函数为纯虚函数来让类称为抽象基类 代码 函数virtual属性的传递性 拷贝移...

  • 虚函数

    如果父类的析构函数没有声明为虚函数的话在父类的指针上调用析构函数会有什么后果? 屏蔽多态,子类申请的资源将不会被释...

  • C++虚函数的一些奇怪问题总结

    构造函数能否为虚函数?在构造函数中调用虚函数会如何?析构函数能否为虚函数?析构函数能否为纯虚函数?其实日常开发中基...

  • c++primer 15.24-15.30

    15.24基类一般定义一个虚析构函数但是虚析构函数会阻止移动操作但是虚析构函数会帮助基类派生类体系动态销毁对象15...

  • GeekBand C++面向对象高级编程(下)(第四周):没有虚

    在C++中,如果一个类是作为父类存在时,那么析构函数必须是虚析构函数,否则在对其子类进行析构时,只会释放其父类的成...

  • NDK基础(六)—— 一些问题记录

    undefined reference to 'vtable 父类定义的虚析构函数,子类没有实现函数体,就会出现这...

  • C++总结

    函数 为什么基类的析构函数用虚函数 在实现多态时,当用基类操作派用类,在析构时防止只析构基类而不析构派生类的状况发...

网友评论

      本文标题:父类的析构函数为虚函数

      本文链接:https://www.haomeiwen.com/subject/mtnlwqtx.html