Code
未读
C++类和对象-初始化和清理
C++中,构造函数在对象创建时初始化数据成员或申请资源,析构函数在对象销毁前释放资源。构造函数无返回值,函数名与类名相同,可重载;析构函数无返回值,函数名与类名相同前加~,不可重载。构造函数分为无参、有参和拷贝构造函数,调用方式包括括号法、显示法和隐式转换法。拷贝构造函数用于复制已有对象数据到新对象,在对象初始化、函数值传递和函数返回局部对象时被调用。编译器自动生成默认构造、拷贝构造和析构函数,但定义有参构造或拷贝构造时不再生成默认构造。深拷贝为指针成员分配新内存并复制内容,避免浅拷贝导致资源共享和重复释放。初始化列表用于初始化成员变量,特别是const成员、引用类型成员和无默认构造的类类型成员,初始化顺序由声明顺序决定。类对象作为成员时,构造顺序先成员后类,析构顺序相反。静态成员属于类本身,所有对象共享同一份数据,必须在类外初始化,可通过对象或类名访问。