小弟有一段程序看不明白是关于运算符重载、指针和引用的程序段
小弟有一段程序看不明白是关于运算符重载的程序段如下:
class Counter
{
public:
Counter();
~Counter(){}
int GetItsVal() const {return itsVal;}
void SetItsval(int x) {itsval=x;}
void Increment() {++itsVal;}
//------看不懂的地方
const Counter& operator++ ();
//------看不懂的地方
private:
int itsVal;
};
Counter::Counter():
itsVal(0)
{};
//-------看不懂的地方
const Counter& Counter::operator ++ ()
{
++ itsVal;
return * this;
}
//-------看不懂的地方
在那个运算符重载成员函数里返回的是一个 Counter的引用 可是 * this 应该是一个值来的啊 我觉得返回 this 才对吧???