拷贝构造函数的第一个参数一定是一个引用类型!
拷贝构造函数不同于默认构造函数,我们知道,当类中定义了其它的构造函数的时候,就不会合成默认构造函数了。但是却会合成拷贝构造函数。
拷贝构造函数除了用在 ‘=’ 定义变量时会发生,还会发生在三种情形:
1)将一个对象作为实参传递给以非引用类型为形参的函数;
这就解释了为什么拷贝构造函数的第一个参数一定是引用!如果不是的话,就会陷入循环。
2)从一个返回类型为非引用类型的函数返回一个对象;
3)一个对象需要通过另一个对象进行初始化
拷贝构造函数的第一个参数一定是一个引用类型!
拷贝构造函数不同于默认构造函数,我们知道,当类中定义了其它的构造函数的时候,就不会合成默认构造函数了。但是却会合成拷贝构造函数。
拷贝构造函数除了用在 ‘=’ 定义变量时会发生,还会发生在三种情形:
1)将一个对象作为实参传递给以非引用类型为形参的函数;
这就解释了为什么拷贝构造函数的第一个参数一定是引用!如果不是的话,就会陷入循环。
2)从一个返回类型为非引用类型的函数返回一个对象;
3)一个对象需要通过另一个对象进行初始化