在使用内建对象之前,需要引入头文件#include< functional>
算术仿函数的原型有:
- template< class T> T plus< T> //加法仿函数
- template< class T> T minus< T> //减法仿函数
- template< class T> T multiplies< T> //乘法仿函数
- template< class T> T divides< T> //除法仿函数
- template< class T> T modulus< T> //取模仿函数
- template< class T> T negate< T> //取反仿函数
#include<iostream>
#include<functional>
using namespace std;
int main()
{
//加法
plus<int> p;
cout << "10 + 10 = " << p(10, 10) << endl;
cout << endl;
//减法
minus<int> m;
cout << "10 - 5 = " << m(10, 5) << endl;
cout << endl;
//乘法
multiplies<int> m1;
cout << "10 * 5 = " << m1(10, 5) << endl;
cout << endl;
//除法
divides<int> d;
cout << "10 / 5 = " << d(10, 5) << endl;
cout << endl;
//取模
modulus<int> m2;
cout << "10 % 3 = " << m2(10, 3) << endl;
cout << endl;
//取反
negate<int> n;
cout << "-n = " << n(20) << endl;
cout << endl;
system("pause");
}
运行结果:
10 + 10 = 20
10 - 5 = 5
10 * 5 = 50
10 / 5 = 2
10 % 3 = 1
-n = -20
请按任意键继续. . .