zoukankan      html  css  js  c++  java
  • C++中析构函数的作用,

    如果构造函数打开了一个文件,最后不需要使用时文件就要被关闭。析构函数允许类自动完成类似清理工作,不必调用其他成员函数。
    析构函数也是特殊的类成员函数。简单来说,析构函数与构造函数的作用正好相反,它用来完成对象被删除前的一些清理工作,也就是专门的扫尾工作。

    详细的时说:


    自动调用基类部分的析构函数对基类的设计有重要影响。
    删除指向动态分配对象的指针时,需要运行析构函数在释放对象的内存之前清除对象。处理继承层次中的对象时,指针的静态类型可能与被删除对象的动态类型不同,可能会删除实际指向派生类对象的基类类型指针。
    如果删除基类指针,则需要运行基类析构函数并清除基类的成员,如果对象实际是派生类型的,则没有定义该行为,要保证运行适当的析构函数,基类中的析构函数必须是析构的。
    例如:
    class A;
    class B public A:
    则 A* p = new B(), 是可以编译通过的,但在调用析构时需要调用B的析构函数,所以A必须定义为虚函数才能正确析构。

    意思就是析构函数要与虚函数搭配使用.
  • 相关阅读:
    Mybatis基本用法--下
    Mybatis基本用法--中
    Mybatis基本用法--上
    Java规范推荐
    jquery、js获取页面高度宽度等
    linux ssh -l 命令运用
    div的onblur事件
    js获取url中的参数方法
    div内部元素居中
    oracle排序
  • 原文地址:https://www.cnblogs.com/the-tops/p/5583044.html
Copyright © 2011-2022 走看看