【转】C++析构函数的作用

一般都是回收一些分配出去的内存,或者通知有依赖关系的对象进行某些特殊处理.
就象人死之前,要把借出去的钱都要回来,交给家人一样,如果还是一个有名望的人,还需要依次给各位亲戚通知即将死亡的消息.

当你用“new”操作符为变量或指针动态分配内存时,它们所占用的内存不会随着你的程序的关闭而关闭,这时就需要用到析构函数来把你的变量或指针销毁,以腾出它们所占用的内存空间。

时间: 2024-11-03 22:09:07

【转】C++析构函数的作用的相关文章

虚析构函数的作用

1  class ITest 2  { 3  public: 4      virtual void Test() = 0; 5 6  }; 7 8  class CTest : public ITest 9  { 10 public: 11     CTest()  { printf("constructor.n"); }; 12     ~CTest() { printf("destructor.n"); }; 13     virtual void Test(

【C++基础 08】virtual析构函数的作用

在面向对象语言中,接口的多种不同的实现方式即为多态.c++可以使用virtual来实现多态. 如果不使用virtual的话,C++对成员函数使用静态联编,而使用virtual,并且在调用函数时是通过指针或引用调用,C++则对成员函数进行动态编联(也就是迟后绑定,运行的时候才确定调用哪个对象). 关于virtual的用法比较简单,不再复述,我们这次来看看virtual析构函数的作用. 1.示例 我们先来看一段代码: class A { public: ~A() { cout<<"~A(

关于虚析构函数的作用和使用

作用:作为基类使用的类应该具有虚析构函数,以保证在删除基类指针(动态分配的对象)时.依据指针实际指向的对象进行适当的析构. 请看以下这段代码; #include <iostream> class A{ public: A(){ std::cout << "A constructor execute" << std::endl; } ~A(){ std::cout << "A destructor execute" &l

virtual析构函数的作用

析构函数是为了在对象不被使用之后释放它的资源,虚函数是为了实现多态.那么把析构函数声明为vitual有什么作用呢?,下面通过例子来说明一下vitual的用途. using namespace std; class Base{public: Base() {};     //Base的构造函数 ~Base()        //Base的析构函数 { cout << "the destructor of class Base!" << endl; }; virtu

C++中析构函数的作用,

如果构造函数打开了一个文件,最后不需要使用时文件就要被关闭.析构函数允许类自动完成类似清理工作,不必调用其他成员函数.析构函数也是特殊的类成员函数.简单来说,析构函数与构造函数的作用正好相反,它用来完成对象被删除前的一些清理工作,也就是专门的扫尾工作. 详细的时说: 自动调用基类部分的析构函数对基类的设计有重要影响.删除指向动态分配对象的指针时,需要运行析构函数在释放对象的内存之前清除对象.处理继承层次中的对象时,指针的静态类型可能与被删除对象的动态类型不同,可能会删除实际指向派生类对象的基类类

python中的构造函数和构造函数和析构函数的作用

构造函数和构造函数和析构函数都属于python中的特殊方法 其中的"__del__"就是一个析构函数了,当使用del 删除对象时,会调用他本身的析构函数,另外当对象在某个作用域中调用完毕,在跳出其作用域的同时析构函数也会被调用一次,这样可以用来释放内存空间

C++中虚析构函数的作用 .

我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数.可是,为什么要这样做呢?下面用一个小例子来说明:        有下面的两个类: class ClxBase{public:    ClxBase() {};    virtual ~ClxBase() {}; virtual void DoSomething() { cout << "Do something in class ClxBase!" << endl; };}; class Cl

C++中虚析构函数的作用 (转载)

转自:http://blog.csdn.net/starlee/article/details/619827 我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数.可是,为什么要这样做呢?下面用一个小例子来说明:        有下面的两个类: class ClxBase { public: ClxBase() {}; virtual ~ClxBase() {}; virtual void DoSomething() { cout << "Do something i

构造函数和析构函数的作用[转]

千万不要把构造函数和析构函数同普通的函数等同起来看待. 给你一段介绍,这个是一位真正的高手的回答,看了你就会明白的.第9章         类的构造函数.析构函数与赋值函数构造函数.析构函数与赋值函数是每个类最基本的函数.它们太普通以致让人容易麻痹大意,其实这些貌似简单的函数就象没有顶盖的下水道那样危险.         每个类只有一个析构函数和一个赋值函数,但可以有多个构造函数(包含一个拷贝构造函数,其它的称为普通构造函数).对于任意一个类A,如果不想编写上述函数,C++编译器将自动为A产生四