拷贝对象主要涉及两个函数,一个是拷贝构造函数,一个是赋值运算符。
1、拷贝构造函数应该确保复制“对象内的所有成员变量”和“所有基类的成分”。
2、最好不要在拷贝构造函数中调用赋值运算符,或者赋值运算符中调用拷贝构造函数:
赋值运算符中调用拷贝构造函数,就好像试图构造一个已经存在的对象;构造函数用来初始化新对象,而赋值运算符只适用于已经初始化的对象。
拷贝对象主要涉及两个函数,一个是拷贝构造函数,一个是赋值运算符。
1、拷贝构造函数应该确保复制“对象内的所有成员变量”和“所有基类的成分”。
2、最好不要在拷贝构造函数中调用赋值运算符,或者赋值运算符中调用拷贝构造函数:
赋值运算符中调用拷贝构造函数,就好像试图构造一个已经存在的对象;构造函数用来初始化新对象,而赋值运算符只适用于已经初始化的对象。