1.构造函数与析构函数
1.1 在创建对象的时候会执行构造函数,对对象的成员属性进行初始话,在对象的生命周期结束时,执行析构函数;
1.2 设计到动态分配内存的时候,在构造函数中进行内存分配,在析构函数中进行内存的释放。
2.复制构造函数
2.1 复制构造函数是构造函数的一种,主要在类对象作为函数参数或者函数返回值时被调用,这时候只调用复制构造函数,而不会调用构造函数;因此,在复制构造函数中,需要对类成员属性进行初始化和类存分配。
3.重载运算符
3.1 当我们用一个类对象赋值给另一个类对象是,需要重载 = ,将类成员属性赋值另一个对象。在涉及到内存分配的类是,需要判断分配的内存大小是否一样,若大小不一样,则无法赋值。或者在有复制构造函数的情况下,可以重现创建一个局部对象然后赋值后,将这个对象返回。
3.2 在没有定义赋值狗造函数的时候,当一个类对象作为函数返回值时,这个对象会在函数返回后,被析构掉,这时可以通过new 来创建这个对象,然后返回这个对象,这时这个对象不会被析构掉,这个对象需要delete来释放,才会执行析构函数。