新手问关于重载问题~
请教下面这段代码为什么这里加了(int)后 i++就会调用它不明白那位能否解答下我不?
#include <stdio.h>
class num
{
public:
num(){n=1;}
virtual ~num (){}
int get()const{return n;}
void set(int x){n=x;}
void operator++ ()
{
printf("前++\r\n");
}
void operator++ (int) 这里???? (int)
{
printf("后++\r\n");
}
private:
int n;
};
int main()
{
num i;
i ++;
++ i;
return 0;
}
[解决办法]
语法规定,让编译器作为区分而已,记住就行了
[解决办法]
这个是规定,为了区分前自增(自减)操作符
[解决办法]
[解决办法]
这是规定,区分前加和后加的
[解决办法]
运算符前面的变量为第一个参数。
[解决办法]
void operator++ (){} 这个默认是 ++i格式
void operator++ (int){} 这种是 i++格式