C++ Program to Demonstrate using Binary Arithmetic Function Object
#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
#include <iterator>
#include <iomanip>
using namespace std;
typedef const vector <int>& vecref;
void print(vecref a, vecref b, vecref c)
{
cout << "a[i] b[i] c[i]" << endl;
for(int i = 0; i < a.size(); i++)
{
cout << setw(2) << setfill(' ') << a[i] << " + "
<< setw(1) << setfill(' ') << b[i] << " = "
<< setw(1) << setfill(' ') << c[i] << endl;
}
}
int main()
{
vector <int> a(10), b(10), c(10);
for (int i = 0; i < 10 ;i++)
{
a[i] = (i % 5 + 1);
b[i] = (i % 4 + 1);
}
// Save the result in vector c
cout << "Addition using \'plus\' arithmetic function object"
<< endl;
transform(a.begin(), a.end(), b.begin(), c.begin(), plus <int>());
print(a, b, c);
}
Output:
$ a.out
Addition using 'plus' arithmetic function object
a[i] b[i] c[i]
1 + 1 = 2
2 + 2 = 4
3 + 3 = 6
4 + 4 = 8
5 + 1 = 6
1 + 2 = 3
2 + 3 = 5
3 + 4 = 7
4 + 1 = 5
5 + 2 = 7
