概述
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
class MyPrint
{
public:
void operator()( int num)
{
cout << "num " << num << endl;
count++;
}
int count = 0;
};
void MyPrint2(int num )
{
cout << "num " << num << endl;
}
void test01()
{
//MyPrint是一个类 ,而不是函数
MyPrint myPrint;
myPrint(111);
//MyPrint2(111);
MyPrint()(1000);
}
//函数对象超出普通函数概念,内部可以保存状态
void test02()
{
MyPrint myPrint;
myPrint(111);
myPrint(111);
myPrint(111);
myPrint(111);
cout << "myPrint使用次数:" << myPrint.count << endl;
}
//函数对象作为参数
void doPrint(MyPrint print, int num)
{
print(num);
}
void test03()
{
doPrint(MyPrint(), 20);
}
int main(){
// test01();
// test02();
test03();
system("pause");
return EXIT_SUCCESS;
}
即重载了 ()运算符的类,
最后
以上就是清新犀牛为你收集整理的C++ 函数对象 即仿函数的简单实用的全部内容,希望文章能够帮你解决C++ 函数对象 即仿函数的简单实用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复