c++ operator-()const
时间: 2023-12-10 18:04:57 浏览: 163
C++中的`operator-()`是一元负号运算符的重载函数,它用于实现取相反数的操作。在函数声明中,`const`关键字表示这个函数不会修改对象的状态。
下面是一个示例代码,演示了如何重载一元负号运算符:
```cpp
#include <iostream>
class Number {
private:
int value;
public:
Number(int v) : value(v) {}
// 重载一元负号运算符
Number operator-() const {
return Number(-value);
}
int getValue() const {
return value;
}
};
int main() {
Number num(5);
Number negNum = -num;
std::cout << "Original value: " << num.getValue() << std::endl;
std::cout << "Negated value: " << negNum.getValue() << std::endl;
return 0;
}
```
在上面的代码中,`Number`类重载了一元负号运算符`operator-()`。它返回一个新的`Number`对象,该对象的值为原始对象值的相反数。在`main()`函数中,创建了一个`Number`对象`num`,然后使用一元负号运算符对其进行取相反数的操作,并将结果赋值给`negNum`。最后,打印出原始值和相反数值。
输出结果为:
```
Original value: 5
Negated value: -5
```
这样就实现了一元负号运算符的重载。希望能帮助到你!如果还有其他问题,请随时提问。
阅读全文