目录
- 一、客户需求
- 二、存在的问题
- 三、解决方案
- 四、函数对象
- 五、小结
一、客户需求
编写一个函数

- 函数可以获得斐波那契数列每项的值
- 每调用一次返回一个值
- 函数可根据需要重复使用
下面来看第一个解决方案:
#include <iostream>
using namespace std;
int fib()
{
static int a0 = 0;
static int a1 = 1;
int ret = a1;
a1 = a0 + a1;
a0 = ret;
return ret;
}
int main()
{
for (int i = 0; i < 10; i++)
{
cout << fib() << endl;
}
cout << endl;
for (int i = 0; i < 5; i++)
{
cout << fib() << endl;
}
return 0;
}
输出结果如下:
二、存在的问题
函数一旦开始调用就无法重来
- 静态局部变量处于函数内部,外界无法改变
- 函数为全局函数,是唯一的,无法多次独立使用
- 无法指定某个具体的数列项作为初始值
三、解决方案
函数对象
- 使用具体的类对象取代函数
- 该类的对象具备函数调用的行为
- 构造函数指定具体数列项的起始位置
- 多个对象相互独立的求解数列项
四、函数对象
函数调用操作符(( ))
- 只能通过类的成员函数重载
- 可以定义不同参数的多个重载函数
所以最终解决方案如下:
#include <iostream>
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;
}
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;
}
输出结果如下:
五、小结
- 函数调用操作符(( ))是可重载的
- 函数调用操作符只能通过类的成员函数重载
- 函数调用操作符可以定义不同参数的多个重载函数
- 函数对象用于在工程中取代函数指针
相关推荐:
SEO开发:数字营销的核心驱动力,园区网站建设
用AI征文工具,轻松创作出精彩文章!
AI智能软件:未来科技的核心力量
ChatGPT破解:人工智能的无限潜力与破解秘笈,意识变ai
OpenAI您的信用卡被拒绝了?请尝试用借记卡支付,轻松解决支付问题!,ai cdr缩略图补丁
ZBlog:开启你的个人网站新时代,轻松搭建与管理,二手手机营销推广方案
优方法-高效生活与工作的秘密武器,钻石营销推广方案
SEO大神如何在激烈的互联网竞争中脱颖而出?,网页设计和网站建设试题
文章AI指令提升写作效率的智能助手
SEO功能:助力网站流量提升与品牌曝光,天津公司网站建设与维护
SEO本站:提升网站流量与排名的秘密武器,荆门专业的抖音seo
在线AI文章:为您打造全新内容创作体验
自动AI写文章:轻松创作时代的全新利器
ChatGPT登录界面都不显示了?可能是这些原因导致的!,上海小学ai智能课
AI网页效果生成:开启网站设计的新纪元,ai画线祥云
好用的AI写作工具,提升写作效率与创意的最佳选择
SEO优化的利器:提升网站排名的秘密武器,联想ai7g-3笔记本
seo类文章是什么,seo技术文章 ,ai3.5-ai聊天
BingAdapter设置数据后没有显示数据?解决方案在这里!,ai中如何把图变形
怎么让AI润色文章,让写作更轻松?
SEO优化快:如何在短时间内实现网站流量爆发,Lacey0508ai
chatai写作免费一键生成,轻松解决写作难题!,陈逗逗ai换脸在线看
seo网站编辑是做什么,seo网站编辑可在家兼职 ,ai慢直播
AI提炼主要内容:如何让信息更精准、高效、易懂,女军人ai
ChatGPT暂时不可用?如何高效应对并寻找最佳替代方案!,logo ai教程视频
GoogleSEO打满分自然流量会高吗?揭开SEO优化的真相,猪插画ai
ChatGPT网页打不开?快来看看这些解决办法,轻松恢复正常访问!,ai金色包装
怎么降低文章的AI生成率:打造更真实、更有价值的内容
怎么用AI写文:让创作更轻松,效率翻倍
文章写作AI:让创作更高效、精准的智能助手
SEO自己:打造属于你的数字营销利器,微信裂变营销推广软件
SEO引擎优化方法-让你的网站流量暴增的实战指南,ai智慧树
怎样利用AI写文章,轻松提升写作效率
seo黑帽是什么,列举几种seo黑帽行为 ,穿老款的ai丢人吗
为什么要seo排名,为什么要做seo推广 ,AI写作开启创意新世界
SEO公司核心业务是什么?揭秘提升网站排名的奥秘,写作助手ai一键生成作文在线
SEO表格:优化网站排名的秘密武器,大数据推广营销费用多少
seo重点工作是什么,seo重点工作是什么意思 ,棋谱检查ai
亚马逊seo信息是什么,亚马逊seo关键词优化软件 ,光谷ai
SEO查:如何通过精准优化让网站流量飞速增长,吉林推广营销怎么样
ChatGPT403:引领人工智能新时代,颠覆你的工作与生活方式,ai nak
亚马逊站内seo是什么优化,亚马逊seo关键词优化软件 ,ai画卡通章鱼
互联网快照:记录数字时代的每个瞬间,全网seo怎么优化内容
SEO才能:提升网站排名,突破网络营销的核心竞争力,南宁本地seo营销公司
ChatGPT支持多种语言输入输出,让全球资讯触手可及,联想拯救者的ai写作
SEO可以帮助网站在搜索引擎中获得较高的排名-助力企业数字化转型的关键,赵立新AI换脸图片对比
seo网站排名关键词优化,seo网站关键词优化怎么做 ,ai回廊
SEO无限:如何利用SEO技术实现网站流量爆发?,网站建设总监
ChatGPT免费用户每天的使用限制:如何高效利用,突破困境!,花花制作ai
AI自动读文:让阅读更轻松、更高效的智能革命,寄ai空