// Using the generic accumulate algorithm to compute a product, // using a function object #include #include #include #include // For accumulate using namespace std; class multiply { public: int operator()(int x, int y) const { return x * y; } }; int main() { cout << "Using generic accumulate algorithm to " << "compute a product." << endl; int x[5] = {2, 3, 5, 7, 11}; // Initialize vector1 to x[0] through x[4]: vector vector1(&x[0], &x[5]); int product = accumulate(vector1.begin(), vector1.end(), 1, multiply()); assert (product == 2310); cout << " --- Ok." << endl; return 0; }