zoukankan      html  css  js  c++  java
  • 函数对象

    函数对象

     定义:

                使用某一类的对象来替代某一函数

     特点:

                该类的对象具备函数调用的行为

        在构造函数指定具体的数列项的起始位置

        多个对象相互独立的求解数列项

     实现:

        函数访问操作符 ()

        只能通过类的成员函数重载

        可以定义不同参数的多个重载函数

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    class Fib
    {
        int a0;
        int a1;
    public:
        Fib()
        {
            a0 = 0;
            a1 = 1;
        }
        
        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;    // 将对象fib以函数调用的形式进行使用
        }
        return 0;
    }

    意义:通过函数对象可以替换函数指针。

    字符串:string对象代替

     数组:数组对象代替

    函数:函数对象代替

  • 相关阅读:
    Nginx
    Haproxy
    Magento学习笔记2 createEntityType方法失效!
    PHP手册阅读笔记
    转载数据库设计
    PHP文件操作函数
    Magento学习笔记1
    PHP手册阅读笔记2
    C++疑惑
    定时任务quartz源码
  • 原文地址:https://www.cnblogs.com/zsy12138/p/10837313.html
Copyright © 2011-2022 走看看