条款 12:复制对象时勿忘其每一个成分
Copy all parts of an object.
- 当 class 添加新变量时,所有 copy、copy assignment 函数需要处理这些成员变量的复制
- 存在继承关系时,derived class 的 copy 和 copy assignment 函数务必要调用父类的相关复制函数,确保所有成员变量被处理
- copy 函数与 copy assignment 函数不要互相调用,当存在重复实现时,应该单独抽取到一个新的成员函数给两者调用,这通常是 private 的 init 函数