LongNumber::LongNumber() : number_{0} {}
LongNumber::LongNumber(const LongNumber& copyNum) : number_{copyNum.number_} {}
LongNumber::LongNumber(LongNumber&& num) : number_{num.number_} {}
**LongNumber::LongNumber(const long long& num) : number_{num} {}
LongNumber::LongNumber(long long&& num) : number_{num} {}
**
**LongNumber& LongNumber::operator=**(const LongNumber& copyNum) {
if(this!=©Num) number_=copyNum.number_;
return *this;
}
**LongNumber& LongNumber::operator=**(LongNumber&& num) {
number_=std::move(num.number_);
return *this;
}
LongNumber::LongNumber(const long long& num)
, LongNumber::LongNumber(long long&& num)
和 之间有什么区别
LongNumber& LongNumber::operator=**(const LongNumber& copyNum)
,LongNumber& LongNumber::operator=**(LongNumber&& num)
?最后两个应该是复制和移动赋值运算符,但为什么我们需要前两个,它们的目的是什么?谢谢
我试着用谷歌搜索来了解更多,但我需要这个例子的确切答案