关于运算符重载
在《Thinking in C++》中的一段代码如下:#include<iostream>
using namespace std ;
class integer
{
int i ;
public:
integer(int ii):i(ii){}
const integer
operator+(const integer&rv)const
{
cout<<"operrater+"<<endl;
return integer(i+rv.i);
}
integer&
operator+=(const integer&rv)
{
cout<<"operater +="<<endl ;
i+=rv.i ;
return *this ;
}
};
int main()
{
cout<<"buit-in types:"<<endl;
int i=1,j=2,k=3 ;
k+=i+j;
cout<<"user-defined types:"<<endl;
integer ii(1),jj(2),kk(3) ;
kk+=ii+jj ;
}
一直对代码里return *this ,这个*this指针不了解,还有为什么需要在public定义const integer 它的作用是什么
?谢谢解答了~