[面向对象]编译器默认提供给类的函数
没有显式声明时,编译器为类提供以下函数:
1. default constructor,当没有显式声明任何构造函数时
2. copy constructor
3. copy assignment,类中不含references和const成员,且其base classes的copy assignment操作符不为private
4. destructor
值得注意的是:
1. 自动生成的函数均为inline
2. 只有当这些函数被需要(调用)时,编译器才会生成它们
3. C++不允许reference改指向不同对象,有点类似于const变量
4. copy assignment的限制对于copy constructor不成立,因为前者是赋值,后者相当于初始化