函数对象--仿函数
对象 函数 --
2023-09-14 09:02:34 时间
概念:
- 重载调用函数操作符的类,其对象称为函数对象
- 函数对象使用重载()时,行为类似函数调用,也叫仿函数
函数对象本质是一个类,不是一个函数
函数对象使用:
features:
1.函数对象在调用时,可以像普通函数一样调用,可以有参数,可以有返回值
#include<iostream>
using namespace std;
#include<string>
//函数对象
//1.函数对象在调用时,可以像普通函数一样调用,可以有参数,可以有返回值
class add {
public:
int operator()(int a,int b)
{
return a + b;
}
};
void test()
{
add ADD;
cout << ADD(125, 125) << endl;
}
int main()
{
test();
system("pause");
return 0;
}
2.函数对象超出普通函数的概念,函数对象可以有自己的概念
#include<iostream>
using namespace std;
#include<string>
//函数对象
//2.函数对象超出普通函数的概念,函数对象可以有自己的概念
class add {
public:
void operator()(string txt)
{
cout << txt << endl;
count++;
}
int count;
};
void test()
{
add A;
A.count = 0;
A("函数对象");
A("函数对象");
A("函数对象");
cout << A.count << endl;
}
int main()
{
test();
system("pause");
return 0;
}
3.函数对象可以作为参数传递
#include<iostream>
using namespace std;
#include<string>
//函数对象
//3.函数对象可以作为参数传递
class add {
public:
void operator()(string txt)
{
cout << txt << endl;
count++;
}
int count;
};
void txt(add& A, string txt)
{
A(txt);
}
void test()
{
add A;
A("函数对象做参数传递");
}
int main()
{
test();
system("pause");
return 0;
}
相关文章
- flask jsonify之序列化时的default函数、jsonify序列化自定义对象[通俗易懂]
- java对象组声明_如何在Java中声明对象数组?
- JavaScript Array(数组)对象中指定元素的删除
- el表达式的内置对象_IF嵌套函数
- 【说站】JavaScript对象如何转为原始类型
- 数组转对象2种方法有哪些_js 数组转对象
- php数组转换对象方法[通俗易懂]
- java字符串转换为json对象6_Json对象与Json字符串的转化、JSON字符串与Java对象的转换…
- 创建线程池的方法_java引用就是对象本身
- 别再用BeanUtils转换对象啦!这个框架更快更强大!!
- Matlab滤波器设计:滤波器设计规格对象函数fdesign的使用方法
- 【JDBC】JDBC API 详解 ④ ( ResultSet 查询结果对象 | 移动光标函数 | 获取数据函数 | ResultSet 代码示例 )
- 【Android NDK 开发】JNI 方法解析 ( C/C++ 调用 Java 方法 | 函数签名 | 调用对象方法 | 调用静态方法 )
- 【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 )
- 【Groovy】MOP 元对象协议与元编程 ( 使用 Groovy 元编程进行函数拦截 | 实现 GroovyInterceptable 接口 | 重写 invokeMethod 方法 )
- 【Groovy】MOP 元对象协议与元编程 ( 方法合成引入 | 类内部获取 HandleMetaClass )
- Java中当对象不再使用时,不赋值为null会导致什么后果 ?
- SQLServer 错误 7932 表错误:对象 ID O_ID,索引 ID I_ID,分区 ID PN_ID 的 FileStream 目录 ID F_ID 位于文件组 FG_ID1 中,但该目录应位于文件组 FG_ID2 中。 故障 处理 修复 支持远程
- C++对象做成员变量(无师自通)
- FileSystem对象常用的文件操作函数有哪些?
- JavaScript申明函数的三种方法每个函数就是一个对象(一)
- javascriptArray数组对象的扩展函数代码
- jQuery源码分析-03构造jQuery对象-源码结构和核心函数