拷贝构造函数和赋值运算符
isml 2006-08-15 09:47:59 由于这两个函数比较相似,所以似乎可以通过其中的某一个实现另一个
1、用赋值运算符实现拷贝构造函数(拷贝构造函数已定义)
A::A(const A & src)
{
*this = src;
}
有无副作用?
2、用拷贝构造函数实现赋值运算符(赋值运算符函数已定义)
这个似乎稍微麻烦点:
A & A::operator = (const A & src)
{
A temp(src);
swap(temp); /// 交换成员
return *this;
}
有无副作用?