码迷,mamicode.com
首页 > 编程语言 > 详细

C++析构函数

时间:2014-05-14 07:11:46      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   c   

析构函数是构造函数的互补:当对象超出作用域或动态分配的对象被删除时,将自动调用析构函数。
析构函数可用于释放对象时构造或在对象的生命期中所获取的资源。
不管类是否定义了自己的析构函数,编译器都自动执行类中非static 数据成员的析构函数。

1、析构函数的特点

(1)、析构函数没有返回值和参数列表

(2)、析构函数不能重载

(3)、析构函数由系统自动调用,不能显式调用

(4)、析构函数可以是inline函数

(5)、析构函数应该设置为类的公有成员

(6)、每个类有应该有一个析构函数,如果没有显式定义,那么系统会自动生成一个默认的析构函数

bubuko.com,布布扣
#include <iostream>
using namespace std;

class ExampleA
{
public:
    ~ExampleA(){cout << "ExampleA::Deconstructor" << endl;}
};

class ExampleB
{
public:
    ~ExampleB();
};
ExampleB::~ExampleB()
{
    cout << "ExampleB::Deconstructor" << endl;
}

int main(void)
{
    ExampleA a;
    ExampleB b;

    return 0;
}
bubuko.com,布布扣

 

2、析构函数的调用顺序

http://www.cnblogs.com/LubinLew/p/Cpp-CallOrderOfConstructorAndDeconstructor.html

C++析构函数,布布扣,bubuko.com

C++析构函数

标签:style   blog   class   code   java   c   

原文地址:http://www.cnblogs.com/LubinLew/p/Cpp-DeconstructorFunction.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!