[求助]++(++n)和++n;++n;有什么区别啊???
#include<iostream.h>class I
{
public:
I(int x){value=x;}
I operator ++();
I operator ++(int);
I operator --();
I operator --(int);
void show()
{
cout<<value<<'\n';
}
int value;
};
I I::operator ++()
{
value++;
return*this;
}
I I::operator ++(int)
{
I temp(*this);
value++;
return temp;
}
void main()
{
I n(20);
++(++n); //这里我变成++n;++n;
n.show();
}
当我运行++(++n)时是21,而用++n;++n;是22.我知道是最外面的++不起作用,但是为什么不起作用呢?