构造函数与析构函数

来源:互联网 发布:知行天下品牌策划 编辑:程序博客网 时间:2024/06/05 11:27

构造函数与析构函数之区别

 

定义

名字

参数

返回值

调用

重载

继承

 

构造函数

特殊的成员函数,主要用于为对象分配空间,完成初始化工作

与类名相同

可以带

在对象定义时,被自动调用

不可

如果没有给类定义构造函数(析构函数),则编译系统会自动生存一个默认的构造函数(析构函数)

析构函数

特殊的成员函数,主要用于释放类实例

与类名相同,但前面加了一个“~”符号

不能带

当撤销对象时,被自动调用

不可 

   允许在一个类中有多个构造函数。如果一个都没有,则编译器自动生成一个不带参数的缺省构造函数,其格式如下:
    类名::缺省构造函数名()
    {    }
   而对一个类来说,只能允许一个析构函数。同理,如果一个类中没有定义析构函数时,则编译系统也生成一个缺省析构函数,其格式如下:
  类名::~缺省析构函数名()
  {
  }
    对象被析构的顺序,与其建立时的顺序相反,即后构造的对象先析构。构造从类层次的最根处开始,在每一层中,首先调用基类的构造函数,然后调用成员对象的构造函数。析构则严格按照与构造相反的次序执行,该次序是唯一的,否则编译器将无法自动执行析构过程。
   一般析构函数定义为类的公有成员。

构造函数与析构函数之语法

          

构造函数之静态构造函数

     静态构造函数用于初始化任何静态数据,或用于执行仅需执行一次的特定操作。在创建第一个实力或引用任何静态成员之前,将自动调用静态构造函数。
    语法:
Class SimpleClass
    {
        //Static constructor
        static SimpleClass()
       {
            //...
        }
    }
0 0
原创粉丝点击