• 27)构造和析构函数


    1)为啥有构造函数:  在涉及多线程的代码中,比如你现在实例化一个类,那么 然后紧接着你去 初始化这个对象的某些值,

      但是,一旦你的类实例化完了,在你的初始化某些变量这个之间,可能会有别的线程改变了这个对象,那么你在改这个对象的某些变量可能达不到你想要的结果

      所以  为了防止  我再实例化类之后,初始化某些变量,这个之间发生问题,我干脆就只要实例化对象,我就也顺带做一些初始化工作,这个就是   构造函数的作用(其实就是数据库的那个加锁的作用)

          构造函数一般是  public   因为你实例化类,就得调用这个函数

     1 class 类名{
     2 
     3     类名(形式参数)
     4         {
     5             构造题,里面填 你要初始化的操作
     6         }
     7 
     8 
     9 
    10 }        

    2)构造函数没有返回值,析构函数没有形参

    3)在一个对象被销毁时,会自动调用析构函数

    4)每一个类,即使你没有编写类的构造和析构函数,他也会调用无参构造和析构函数(这是系统自带的默认的无参函数,但那时确实存在这两个函数

    5)一旦你提供了一个显式的构造函数和析构函数,那个默认的就不存在了,你再调用那个系统默认的,就会报错。

    6)当没有任何显式的构造和析构时,才会调用默认的析构或者构造函数,

    7)当没有任何显式的拷贝构造函数时,才会调用默认的拷贝构造函数

    8)析构的顺序

          1)和构造相反,谁先构造的,谁后析构

  • 相关阅读:
    windows下安装,配置gcc编译器
    【Oracle】-【ROWNUM与索引】-索引对ROWNUM检索的影响
    古代文化与典故
    古代文化与典故
    Opencv+Zbar二维码识别(一维码校正)
    美国历史与文化
    美国历史与文化
    地道的英文 —— 固定搭配、固定短语
    地道的英文 —— 固定搭配、固定短语
    英式英语 vs 美式英语
  • 原文地址:https://www.cnblogs.com/xiaoyoucai/p/8183163.html
Copyright © 2020-2023  润新知