用c++11的新增rvalue 进行拷贝构造 ,赋值函数重载 。但在执行时却调用左值拷贝构造,赋值函数
最终发现是在拷贝构造,赋值函数中调用基类的对应的右值拷贝构造,赋值函数有误。
现记录更正如下
class a
{
a(const&rhs){}
{
}
a& operator=(const a&& rhs)
{
}
};
class b:public a
{
b(const b&&rhs)
{
a::operator=((a&&)prhs);
.....
}
b& operator=(const b&& rhs)
{
a::operator=((a&&)rhs)
.....
return *this;
}
}