C++ 一元运算符重载 ( - )

返回上一级

一元运算符只对一个操作数进行操作

一元运算符通常出现在它们所操作的对象的左边,比如 !obj-obj++obj 但有时它们也可以作为后缀,比如 obj++obj--

/**
 * file: main.cpp
 * author: 简单教程(www.twle.cn)
 *
 * Copyright © 2015-2065 www.twle.cn. All rights reserved.
 */

#include <iostream>

class Distance
{
   private:
      int feet;             // 0 到无穷
      int inches;           // 0 到 12
   public:
      // 所需的构造函数
      Distance(){
         feet = 0;
         inches = 0;
      }
      Distance(int f, int i){
         feet = f;
         inches = i;
      }
      // 显示距离的方法
      void displayDistance()
      {
         std::cout << "F: " << feet;
         std::cout << " I:" << inches;
         std::cout << "\n";
      }

      // 重载负运算符 ( - )
      Distance operator- ()  
      {
         feet = -feet;
         inches = -inches;
         return Distance(feet, inches);
      }
};


int main()
{
   Distance d1(1, 10), d2(-5, 110);

   -d1;                     // 取相反数
   d1.displayDistance();    // 距离 D1

   -d2;                     // 取相反数
   d2.displayDistance();    // 距离 D2

   return 0;
}

编译和运行以上范例,输出结果如下:

F: -1 I:-10
F: 5 I:-110

返回上一级

C++ 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.