这个问题在这里已有答案:
是否有可能使用运算符重载来改变C ++中整数的减运算符的行为?
没有!如果要重载运算符,则运算符的参数必须至少包含一个用户定义的类型。例如,在这种情况下,您可以为整数和类重载减号。
不,您不能为自己的内部数据类型重载您自己的运算符。
但是,您可以创建自己的class
/ struct
来表示整数类型并重载operator-()
:
struct MyInt {
int i;
int operator-() { return +i; }
};