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

    函数调用
     1 #include<string>
     2 using namespace std;
     3 //重载函数调用操作符() 
     4 //函数对象取代函数指针
     5 class Fib{
     6 private:
     7         int a0;
     8         int a1;
     9 public:
    10         Fib():a0(0),a1(1){
    11         //成员变量赋初值,初始化列表实现
    12         }
    13         Fib(int n):a0(0),a1(1){
    14                 for(int i=2;i<n;i++){
    15                         int ret = a1;
    16                         a1 = a0 + a1;
    17                         a0 = ret;
    18                 }
    19         }
    20         //函数对象实质还是操作符重载
    21         int operator()(){
    22                 int ret = a1;
    23                 a1=a0+a1;
    24                 a0=ret;
    25                 return ret;
    26         }
    27 };
    28 int main(){
    29         Fib fib1;
    30        for(int i=0;i<10;i++){
    31                 //将类对象当做函数来使用,函数调用操作符()
    32                 cout << fib1() << endl;
    33         }
    34         for(int i=0;i<5;i++){
    35                 cout << fib1() << endl;
    36         }
    37 
    38         Fib fib2;
    39         for(int i=0;i<5;i++){
    40                 cout << fib2() << endl;
    41         }
    42 
    43         Fib fib3(10);
    44         for(int i=0;i<5;i++){
    45                 cout << fib3() <<endl;
    46         }
    47         return 0;
    48 }
  • 相关阅读:
    Beta 冲刺 (2/7)
    Beta 冲刺 (1/7)
    2017软件工程实践总结
    华为软件开发云评测
    android开发——用户头像
    学生&部门智能匹配程序
    学生会里学生汇
    数独棋盘生成器
    读与思
    Java接口
  • 原文地址:https://www.cnblogs.com/DXGG-Bond/p/11873112.html
Copyright © 2011-2022 走看看