首页 > 代码库 > 函数对象(for_each)未解决
函数对象(for_each)未解决
#include<iostream> using namespace std; #include"algorithm" #include"functional" #include"vector" //类模版函数 template <typename T> class Obj { public: Obj() { n = 0; } void operator()(T & t) { n++; cout << t << endl; } void PtintN() { cout << n << endl; } public: int n; }; //模板函数 template <typename T> void FuncprintT( T &t1) { cout << t1 << endl; } //普通函数 void Funcprintt(int &t2) { cout << t2 << endl; } int main01() { int tem = 10; Obj<int > o1;//类模版 o1(tem); FuncprintT<int>(tem); FuncprintT(tem); return 0; } int main02() { vector<int > v1; v1.push_back(1); v1.push_back(2); v1.push_back(3); for_each(v1.begin(), v1.end(), Obj<int>()); for_each(v1.begin(), v1.end(), FuncprintT<int>); int tem2 = 10; cout << " 这里是运用 函数对象作为for_each的第三个对象:\n"; Obj<int > otem; for_each(v1.begin(), v1.end(), otem);//这里有疑问?遗留问题,不是每一个运算符重载都自动运行的 //for_each(v1.begin(), v1.end(), Obj<int > otem2); 这个为什么是错误的? otem.PtintN(); return 0; } int main() { //main01(); main02(); system("pause"); }
函数对象(for_each)未解决
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。