一元运算符只对一个操作数进行操作,下面是一元运算符的实例:
- 递增运算符( ++ )和递减运算符( -- )
- 一元减运算符,即负号( - )
- 逻辑非运算符( ! )
一元运算符通常出现在它们所操作的对象的左边,比如 !obj、-obj 和 ++obj,但有时它们也可以作为后缀,比如 obj++ 或 obj--。
下面的实例演示了如何重载一元减运算符( - )。
1 #include <iostream> 2 using namespace std; 3 4 class Distance 5 { 6 private: 7 int feet; // 0 到无穷 8 int inches; // 0 到 12 9 public: 10 // 所需的构造函数 11 Distance(){ 12 feet = 0; 13 inches = 0; 14 } 15 Distance(int f, int i){ 16 feet = f; 17 inches = i; 18 } 19 // 显示距离的方法 20 void displayDistance() 21 { 22 cout << "F: " << feet << " I:" << inches <<endl; 23 } 24 // 重载负运算符( - ) 25 Distance operator- () 26 { 27 feet = -feet; 28 inches = -inches; 29 return Distance(feet, inches); //想想这里为什么是这样 30 } 31 }; 32 int main() 33 { 34 Distance D1(11, 10), D2(-5, 11); 35 36 -D1; // 取相反数 37 D1.displayDistance(); // 距离 D1 38 39 -D2; // 取相反数 40 D2.displayDistance(); // 距离 D2 41 42 return 0; 43 }
结果
F: -11 I:-10 F: 5 I:-11
标签:一元,obj,Distance,int,C++,运算符,重载,feet From: https://www.cnblogs.com/uacs2024/p/18049228