所在的位置: C++ >> C++前景 >> C编程语言STL函数对象

C编程语言STL函数对象

中科白癜风医院用疗效说话 http://pf.39.net/bdfyy/bdfrczy/160706/4892460.html

1.函数对象概念

概念:

重载函数调用操作符的类,其对象常成为函数对象函数对象使用重载的()时,行为类似函数调用,也叫仿函数

本质:函数对象(仿函数)是一个类,不是一个函数

2.函数对象(仿函数)使用

特点:

函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值函数对象超出普通函数的概念,函数对象可以有自己的状态函数对象可以作为参数传递

//1.函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值classMyAdd{public:intoperator()(intv1,intv2){returnv1+v2;}};//2.函数对象超出普通函数的概念,函数对象可以有自己的状态classMyPrint{public://自己内部状态intcount;MyPrint(){this-count=0;}voidoperator()(stringtest){couttestendl;this-count++;}};//.函数对象可以作为参数传递voiddoPrint(MyPrintmp,stringtest){mp(test);}voidtest01(){//1.函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值MyAddmyadd;coutmyadd(10,10)endl;//2.函数对象超出普通函数的概念,函数对象可以有自己的状态MyPrintmyprint;myprint("helloworld");myprint("helloworld");cout"myprint的调用次数:"myprint.countendl;//.函数对象可以作为参数传递doPrint(myprint,"helloworldsda");}intmain(){test01();system("pause");return0;}




转载请注明:http://www.aierlanlan.com/cyrz/5627.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了