美文网首页
1.2.19_C++ 函数调用运算符 () 重载

1.2.19_C++ 函数调用运算符 () 重载

作者: 资深小夏 | 来源:发表于2017-06-29 23:20 被阅读87次

C++ 重载运算符和重载函数

函数调用运算符 () 可以被重载用于类的对象。当重载 () 时,您不是创造了一种新的调用函数的方式,相反地,这是创建一个可以传递任意数目参数的运算符函数。

下面的实例演示了如何重载函数调用运算符 ()。

#include <iostream>
using namespace std;
 
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;
      }

      // 重载函数调用运算符
      Distance operator()(int a, int b, int c)
      {
         Distance D;
         // 进行随机计算
         D.feet = a + c + 10;
         D.inches = b + c + 100 ;
         return D;
      }

      // 显示距离的方法
      void displayDistance()
      {
         cout << "F: " << feet <<  " I:" <<  inches << endl;
      }
      
};

int main()
{
   Distance D1(11, 10), D2;

   cout << "First Distance : "; 
   D1.displayDistance();

   D2 = D1(10, 10, 10); // invoke operator()
   cout << "Second Distance :"; 
   D2.displayDistance();

   return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

First Distance : F: 11 I:10
Second Distance :F: 30 I:120

代码链接:https://github.com/karst87/cpp/tree/master/learning/com.runoob

相关文章

  • 1.2.19_C++ 函数调用运算符 () 重载

    C++ 重载运算符和重载函数 函数调用运算符 () 可以被重载用于类的对象。当重载 () 时,您不是创造了一种新的...

  • 运算符重载定义与友元函数

    运算符重载定义 这种方式成为成员重载运算符函数。 头文件 实现文件 调用重载运算符 time1 = time1 +...

  • C++ 部分运算符重载

    可重载的运算符 不可重载的运算符和符号 重载运算符为类的成员函数 重载运算符为友元函数 重载赋值运算符 重载流插入...

  • 2020-03-26 C++复习4 运算符重载】

    数学运算符重载 运算符重载其实就是定义一个函数,在函数体内实现想要的功能,当用到该运算符时,编译器会自动调用这个函...

  • C++的重载

    C++允许函数和运算符多个定义,当重载函数或者重载运算符被调用的时候,编译器将决定使用的参数类型与定义函数中参数类...

  • # 可调用对象

    可调用对象 函数、函数指针、lambda表达式、bind创建的对象、重载了函数调用运算符的类这五种都叫做可调用对象...

  • 9.22 c++ 总结

    运算符重载 1.一般格式为: 类型名 operator 运算符(形参表){函数体} 运行方式:调用函数进行计算,...

  • C++ 中几种调用对象

    C++中一共有5种调用对象:函数,函数指针,重载了函数调用运算符的类(仿函数),bind创建的对象 和 lambd...

  • 2-ndk学习之c++基础篇(03)

    在c++源码中,会有很多俗称“鬼画符”的代码,很多都是用到了运算符重载 运算符重载 在函数中调用: 继承 在mai...

  • C++面向对象-运算符重载

    运算符重载 运算符重载又称为操作符重载,可以为运算符增加一些新的功能,全局函数和成员函数都支持运算符重载,我们通过...

网友评论

      本文标题:1.2.19_C++ 函数调用运算符 () 重载

      本文链接:https://www.haomeiwen.com/subject/pfavcxtx.html