27)构造和析构函数

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

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

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

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

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

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

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

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

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

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

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

8)析构的顺序

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

原文地址:https://www.cnblogs.com/xiaoyoucai/p/8183163.html