函数对象
来源:互联网 发布:mac 删除键 编辑:程序博客网 时间:2024/05/23 12:44
/* * funcObject.cpp * * Created on: 2016年8月26日 * Author: zroad */#include<iostream>#include<string>using namespace std;//一、函数对象的概念//函数对象:即一个重载了括号操作符"()"的对象。当用该对象调用此操作符时,//其表现形式如同普通函数调用一般,因此取名叫函数对象。class FuncObjType{public: void operator() (){ cout<<"Hello C++!"<<endl; }};//二、函数对象相对于函数来说的优势://1. 函数对象可以有自己的状态。我们可以在类中定义状态变量,这样一个函数对象在多次的调用中可以共享这个状态。//但是函数调用没这种优势,除非它使用全局变量来保存状态。//2、函数对象有自己特有的类型,而普通函数无类型可言。这种特性对于使用C++标准库来说是至关重要的。这样我们在使用STL中的函数时,//可以传递相应的类型作为参数来实例化相应的模板,从而实现我们自己定义的规则。比如自定义容器的排序规则。class FuncObjType1{public: FuncObjType1(int i, string s){ cout << "FuncObjType1 is created!" << " " << i << " " << s << endl; } int operator() (){ //可以定义返回值,也可以传入参数 cout<<"Hello FuncObjType1!"<<endl; return 2000; }};int main() { FuncObjType fo; //没有定义构造函数时,直接声明即创建了对象? fo(); //直接运行重载()的函数 FuncObjType1 fo1(1000, "Hello,world"); int temp = fo1(); //函数对象可以有返回值,可以传入参数 cout << "temp=" << temp << endl; return 0;}
0 0
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 对象 函数
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象~
- 函数对象
- 交换排序
- JVM-内存划分
- 10 mongo集群的搭建 以及遇到的问题
- 第二期 开发板选型 《路由器就是开发板》
- HTTP协议
- 函数对象
- netty入门实例
- 10道C++输出易错笔试题收集
- 键盘键和键盘键控制值一览表(键盘按键对应代码表)
- “高教社杯”第三届福建省大学生程序设计竞赛
- JS中数组的操作
- 【POJ】2566 Bound Found
- python核心编程学习笔记-2016-08-26-01-文件传输
- Day22、大型项目开发的文件组织、动态链接、动态库、静态链接、静态库gdb调试工具