• c++构造函数和析构函数


    一、特点构造

    1)构造函数是一个特殊的成员函数类,函数名和类名相同;

    2)构造函数的訪问属性应该是公有(public)訪问属性。

    3)构造函数的功能是对对象进行初始化。因此在构造函数中仅仅能对数据成员做初始化,这些数据成员一般为私有成员,在构造函数中一般不做初始化以外的事情;

    4)构造函数能够在类内定义也能够在类外定义;

    5)构造函数无函数返回类型。

    注意:是什么也不写。也不可写void

    6)在程序执行时,当新的对象被建立。该对象所属的类的构造函数自己主动被调用,在该对象生存期中也仅仅调用这一次。

    7)构造函数能够重载。

    类中能够有多个构造函数。它们由不同的參数表区分,系统在自己主动调用时按一般函数重载的规则选一个运行。

    二、使用初始化表来实现对数据成员的初始化

    初始化表的一般格式:

    类名::构造函数名(參数列表):初始化表

    {

         构造函数其它实现代码

    }

    初始化表的格式:

        对象成员1(參数名或常量)。对象成员2(參数名或常量),……对象成

    n(參数名或常量)

    比如例1.4定义的构造函数能够改用下面形式:

    Cdate:: Cdate(int y, int m,int d): year(y), month(m),day(d){   }

    注意:这样的写法方便、简洁。很多C++程序猿喜欢用这样的方式初始化全部的数据成员。除了构造函数能够使用初始化表外,类的其它成员函数也能够依据须要使用初始化表。


    一、析构函数的作用

            是一个特殊类成员函数,它的作用与构造函数相反。

    析构函数的作用是在对象生存期结束之前自己主动运行,做清理工作。

       比如:

             一个类可能在构造函数中分配资源,这些资源要在对象的生存期结束曾经释放。释放资源的工作就是自己主动调用类的析构函数完毕的。

    二、析构函数的特点

    1)析构函数函数的名字特别,是类名加“~”字符,表明它与构造函数相反。

    2)析构函数没有參数,不能指定返回值类型。      

    3)一个类中仅仅能定义一个析构函数。所以析构函数不能重载。

    4)在对象生命周期结束,自己主动调用析构函数系统。

    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    Android数据存储
    linux中uptime命令查看linux系统负载
    Linux系统中的load average
    Trie树(c++实现)
    模版
    重载操作符[]
    stanford-postagger中文词性标注
    数值的整数次方(剑指offer面试题11)
    __init__ 和 self
    python中文分词:结巴分词
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4811286.html
Copyright © 2020-2023  润新知