问题及代码:
#include <iostream>
#include<vector>
#include<iterator>
#include<algorithm>
#include<functional>
using namespace std;
template<typename T>
class square
{
public:
T operator()(T&v)
{
return v*v;
}
};
int main()
{
const int N=5;
vector<int>s(N);
for(int i=0;i<N;i++)
cin>>s[i];
transform(s.begin(),s.end(),ostream_iterator<int>(cout," "),square<int>());
cout<<endl;
return 0;
}
运行结果:
知识点总结:
这是函数对象的第三种形式。
学习心得: