35-函数对象分析-()操作符的重载
来源:互联网 发布:淘宝卖家怎么关闭订单 编辑:程序博客网 时间:2024/04/29 06:01
1、需求
#include <iostream>#include <string>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;}1123581321345589144233377610
2、存在的问题
3、解决方案
4、函数对象
#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;//调用对象的()重载函数fib.operator(); } 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;}11235813213455891442333776105589144233377
5、小结
阅读全文
0 0
- 35-函数对象分析-()操作符的重载
- 调用操作符的重载与函数对象
- 调用操作符的重载与函数对象
- 调用操作符的重载与函数对象
- 【C++面向对象】函数操作符()的重载
- 【C++面向对象】[]操作符的重载
- C++的对象复制构造函数与赋值操作符重载的区别小结
- 函数操作符重载
- C++ 操作符重载、函数对象及类类型转换
- C++ 重载调用操作符和函数对象
- 06_nullptr、NULL、操作符重载、Const对象和函数
- 第十四章——调用操作符重载和函数对象的使用
- 模板函数的操作符重载
- 重载等号操作符(分析初始化对象和赋值对象的浅拷贝)(进阶3)
- C++面向对象操作符重载:调用操作符和函数对象
- 一元函数对象的函数重载
- 重载函数与重载操作符
- 详谈面向对象的重载——>“函数重载”与“运算符重载”
- 状态机 和 状态模式
- C#读取注册表获得安装的软件
- LaTex:实践------论文写作
- 软银、阿里、富士康三大集团高管助力星云Nebula VR眼镜众筹收尾
- 做工精致 ZUK Z1开箱图赏
- 35-函数对象分析-()操作符的重载
- VirtualBox 配置虚拟网卡(桥接),实现主机-虚拟机网络互通(适用于ubuntu系统)
- 激光对焦和RGBW OPPO R7 Plus带来更好拍照
- 线性结构2 一元多项式的乘法与加法运算 浙大pat
- 从秋到秋
- 酷狗音乐是怎么用“造星”运动为O2O引入活水的?
- 极致闪拍 OPPO R7 Plus 拍照评测
- 深圳零度:为什么说我们更贴近消费者
- docker之mysql使用