コードを見る
#include<iostream.h>
#include<conio.h>
class A{
private:
int i;
public:
A()
{
i=10;
}
A operator++(int)
{
A tmp=*this;
i +=1;
return tmp;
}
display()
{
cout<<i;
}
};
int main()
{
A a,b;
b=a++ + a++;
cout<<endl<<b<<"\t"<<a;
return 0;
}
ステートメントb = a++ + a++
の場合、期待値は 20 になると考えられますが、上記のステートメントの結果は 21 になりました。
どのように?
親切に私を助けてください。