美文网首页
C++中函数调用操作符的重载

C++中函数调用操作符的重载

作者: nethanhan | 来源:发表于2017-10-14 10:45 被阅读0次

函数调用操作符的重载


  • 函数调用操作符(())
    • 只能通过类的成员函数重载
    • 可以定义不同参数的多个重载函数

用法:

Type operator () ()
{
    
    return Type;
}
  • 函数调用操作符的意义
    • 函数调用操作符(())是可重载的
    • 函数调用操作符只能通过类的成员函数重载
    • 函数调用操作符可以定义不同参数的多个重载函数
    • 函数对象用于在工程中取代函数指针

这里举个例子:

#include <iostream>
#include <string>

using namespace std;

class Fib
{
    int a0;
    int a1;
public:
    Fib()
    {
        a0 = 0;
        a1 = 1;
    }
    
    Fib(int n)
    {
        a0 = 0;
        a1 = 1;
        
        for(int i=2; i<=n; i++)
        {
            int t = a1;
            
            a1 = a0 + a1;
            a0 = t;
        }
    }
    
    //重载了函数调用操作符
    int operator () ()
    {
        int ret = a1;
    
        a1 = a0 + a1;
        a0 = ret;
        
        return ret;
    }
};

int main()
{
    Fib fib;
    
    for(int i=0; i<10; i++)
    {
        //这里直接使用函数对象来调用成员函数
        cout << fib() << endl;
    }
    
    cout << endl;
    
    for(int i=0; i<5; i++)
    {
        cout << fib() << endl;
    }
    
    cout << endl;
    
    Fib fib2(10);
    
    for(int i=0; i<5; i++)
    {
        cout << fib2() << endl;
    }
    
    return 0;
}

相关文章

  • C++中的操作符重载

    操作符重载 C++中的重载能够扩展操作符的功能 操作符的重载以函数的方式进行 本质:用特殊形式的函数扩展操作符的功...

  • C++中函数调用操作符的重载

    函数调用操作符的重载 函数调用操作符(())只能通过类的成员函数重载可以定义不同参数的多个重载函数 用法: 函数调...

  • 1.2 仿函数(function call操作符)

    从函数指针到仿函数。 1.1 函数调用操作符(C++语法中的左右括号)也可以被重载。 许多STL算法都提供了两个版...

  • Geekband C++ 第五周

    概述 C++模板简介 函数模板 C++类模板 操作符重载 泛型编程 容器

  • 1.2.20_C++ 下标运算符 [] 重载

    C++ 重载运算符和重载函数 下标操作符 [] 通常用于访问数组元素。重载该运算符用于增强操作 C++ 数组的功能...

  • C++学习笔记(七)操作符重载(上)

    1、基本操作符重载 操作符重载指的是将C++提供的操作符进行重新定义,使之满足我们所需要的一些功能。 在C++中可...

  • 仿函数/函数对象 functor / function obje

    1 仿函数 对某个 class 重载 函数调用操作符 operator(), 它就成为 Functor 可 像 f...

  • C是如何调用C++接口的?

    ✨有的时候,当我想在c代码中调用c++接口,然后就编译报错了!!! 引出问题 C++支持函数重载的, 函数名相同但...

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

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

  • C++ 操作符重载

    操作符重载 操作符的重载是在实际的C++编程过程中不太容易引人注意但却非常实用的一个特性。合理的实现操作符重载可以...

网友评论

      本文标题:C++中函数调用操作符的重载

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