精华笔记:
构造器
是与类名相同的 无返回值函数
在类对象创建的时候 自动调用
一般主要是完成初始化相关的工作
初始化是指 世间万物都有一个初始状态
系统有一个默认的 构造器 主要是浅拷贝 深拷贝有问题
也就是说 无参构造器和有参构造器都存在的话
如果Class a;
class a(10);
如果把所有的****构造器都去掉 那么只有class a 编译通过 因为系统提供默认的无参构造器 如果只把有参构造器删除 还是只有第一个通过 如果只把无参构造器删除 那么无参构造器就不能编译通过
因为构造器其中的一个特点就是 如果有参实现 那么原来的无参构造器就不存在了
在进行 构造器的 时候 我们应该使用默认的有参构造器
但无论是重载和默认参数的构造器
只要实现就不复存在
在进行初始化的时候
要注意
类成员初始化的顺序与初始化参数列表的顺序无关
与其声明的顺序有关
析构器
以~开头与类名相同 无参无返回的函数
在类对象销毁时 自动调用 完成对象的销毁
无返回值 无参 不能重载和默认
类的层次管理
在C语言中 有malloc就有free 如果是二级指针接纳一级指针 需要先释放一级指针的内容 再释放二级指针的内容 否则会导致