我们可以使用运算符重载来改变减号的行为吗

时间:2018-09-01 08:31:59

标签: c++ overloading operator-keyword

是否可以在C ++中使用运算符重载来更改减运算符对整数的行为?

2 个答案:

答案 0 :(得分:1)

不,您不能为内部数据类型重载自己的运算符。


不过,您可以创建自己的class / struct来表示整数类型,并为该类型重载operator-()

struct MyInt {
    int i;

    int operator-() { return +i; }
};

答案 1 :(得分:1)

不!  如果要重载运算符,则运算符的参数必须至少包含一种用户定义的类型。 例如,在这种情况下,您可以为整数和类重载负号。