函数对象
-
用于替代函数指针
-
优势:函数对象内部可以保存状态,而不必使用全局变量或静态局部变量
-
关键:重载”()”操作符
#include<iostream>
#include<string> using namespace std;
/* 计算Fib数列 */
class Func
{
int x;
int y;
public:
Func(int x = , int y = )
{
this->x = x;
this->y = y;
} int operator () ()
{
int ret = ; ret = x;
x = y;
y = ret + x; return ret;
}
}; int main()
{
Func f1;
for(int i=; i<; i++)
{
cout << f1() <<endl;
}
return ;
}