已解决
【QT】仿函数
来自网友在路上 166866提问 提问时间:2023-11-02 07:37:56阅读次数: 66
最佳答案 问答题库668位专家为你答疑解惑
- 函数调用运算符 () 也可以重载
- 由于重载后使用的方式非常像函数的调用,因此称为仿函数
- 仿函数没有固定写法,非常灵活
示例:
#include <iostream>
#include <string>
using namespace std;class MyPrint
{
public://重载的运算符是“()”,(string text)是参数列表。void operator()(string text){cout << text << endl;}};
void test01()
{//重载的()操作符 也称为仿函数MyPrint myFunc;myFunc("hello world");
}class MyAdd
{
public://重载的运算符是“()”,(int v1, int v2)是参数列表。int operator()(int v1, int v2){return v1 + v2;}
};void test02()
{MyAdd add;int ret = add(10, 10);cout << "ret = " << ret << endl;//MyAdd()是匿名对象,当前行执行完,立即被释放。cout << "MyAdd()(100,100) = " << MyAdd()(100, 100) << endl;
}int main() {test01();test02();system("pause");return 0;
}
由于使用起来非常类似于函数的调用,因此称为仿函数。
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"【QT】仿函数":http://eshow365.cn/6-29988-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 【UE】从UI中拖拽生成物体
- 下一篇: Android照搬,可删