20170529

一、析构函数
    和类型名同名 函数名前有一个~
    任何类型都只有一个无参析构函数
    析构函数没有返回值类型
    在对象销毁前自动调用析构函数,可以人为调用(一般不用)
    负责销毁和释放资源
    何时需要自定义析构函数?
    有堆内存分配的时候(有成员变量是指针类型的时候)
二、拷贝构造函数
    复制另外一个对象 根据原来的一个对象,复制出另外一个对象
    浅复制
    深复制 各个对象都要有自己独立的内存
三、new delete 和 malloc free的区别
    new 比 malloc 多做了如下工作
    如果类型的成员变量是类类型 自动构建成员
    new自动调用构造函数
    new自动处理类型转换
    delete比free多调用了析构函数
四、static成员
    静态成员函数
    静态成员变量
    和普通成员的区别 普通类型的成员必须通过对象去调用
    静态成员不使用对象就可以访问
    访问前在数据前加上 类名::
    
    静态成员变量必须在类外进行初始化
    静态函数中  不能 直接 访问 非静态成员(线程封装)
   

原文地址:https://www.cnblogs.com/dongjian16/p/6918853.html