#include <iostream>
using namespace std;
//打印输出类
class MyPrint
{
public:
void operator()(string test)//1.重载函数调用运算符
{
cout << "重载函数调用运算符" << endl;
cout << test << endl;
}
};
void MyPrint02(string test)//2.普通打印函数
{
cout << "普通打印函数" << endl;
cout << test << endl;
}
void test01()
{
MyPrint myprint;
myprint("hello world");//使用非常灵活,故称为仿函数
MyPrint02("hello world");
}
int main()
{
test01();
return 0;
}
--->运行结果:
//仿函数的使用非常灵活
//eg:加法类(整型)
#include <iostream>
using namespace std;
class Add
{
public:
int operator()(int num1, int num2)
{
return num1 + num2;
}
};
void test01()
{
Add add;
int ret = add(3, 9);
cout << ret << endl;//12
}
int main()
{
test01();
return 0;
}
//仿函数的使用非常灵活
//eg:加法类(整型)
#include <iostream>
using namespace std;
class Add
{
public:
int operator()(int num1, int num2)
{
return num1 + num2;
}
};
void test01()
{
Add add;
int ret = add(9, 3);
cout <<"ret="<< ret << endl;
cout << "Add="<<Add()(100, 200) << endl;
}
int main()
{
test01();
return 0;
}