好像以前讨论过^^,奇怪的问题。
不多说,看代码
#include "stdio.h"
class Int{
public:
int operator =(int i)
{
return n=i;
}
Int(int i):n(i){}
Int operator ++(int){
printf("++");
return n++;
}
Int operator %(int i){
printf("%");
return n%i;
}
operator int(){
printf("int");
return n;
}
protected:
int n;
};
int main(){
Int i=2;
i=(i++)%3;
printf("%d\n",static_cast<int>(i));
return 0;
}
请问i是Int时输出?
i为内建的int时输出?