概念:
函数对象使用:
- 函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值
- 函数对象超出普通函数的概念,函数对象可以有自己的状态
- 函数对象可以作为参数传递
#include<iostream> using namespace std; #include <string> class MyAdd { public: int operator()(int v1,int v2) { return v1 + v2; } }; // 1、函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值 void test01() { MyAdd myAdd; cout << myAdd(10,10) <<endl; } 2、函数对象超出普通函数的概念,函数对象可以有自己的状态 MyPrint { : MyPrint() { this->count = 0; } void string test) const { cout << test << endl; this->count++; } int count; 内部自己状态 }; test02() { MyPrint myPrint; myPrint("hello world"); myPrint(); cout << myPrint调用次数为: " << myPrint.count << endl; } 3、函数对象可以作为参数传递 void doPrint(MyPrint & mp,1)"> test) { mp(test); } test03() { MyPrint myPrint; doPrint(myPrint,Hello c++); } main() { test01(); test02(); test03(); system(pause); return ; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。