运算符重载格式

  1. 返回值类型 operator 运算符名称 (形参表列){
  2. //TODO:
  3. }

operator是关键字,专门用于定义重载运算符的函数。我们可以将operator 运算符名称这一部分看做函数名,对于上面的代码,函数名就是operator+。

重载“-” 示例:

  1. #include<iostream>
  2. using namespace std;
  3. class Distance {
  4. private:
  5. int feet;
  6. float inches;
  7. public:
  8. Distance(int f, float i) :feet(f), inches(i){};
  9. void show() {
  10. cout << feet << " feet " << inches << " inches" << endl;
  11. }
  12. Distance operator -() {
  13. feet = -feet;
  14. inches = -inches;
  15. return Distance(feet, inches);
  16. }
  17. };
  18. int main() {
  19. Distance d1(5, 11);
  20. d1.show();
  21. -d1;
  22. d1.show();
  23. }