Loading... ## 概念: 重载函数调用操作符的类,其行为常称为函数对象 函数对象使用重载的()时,行为类似函数调用,也叫仿函数 ## 函数对象使用: ### 特点: 函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值 函数对象超出普通函数的概念,函数对象可以有自己的状态 函数对象可以作为参数传递 ### 示例: ```cpp #include<iostream> #include<string> using namespace std; class Add//函数在使用的时候,可以像普通函数那样可以有参数,可以有返回值 { public: int operator()(int a, int b)const { return a + b; } }; class Print { public: void operator()(string prin) { cout << prin << endl; con++; } int con = 0; }; void add() { Add a; int add = a(5, 10); cout << "两数相加和为:" << add << endl; } void print() { Print p1; p1("hello world!"); p1("hello world!"); p1("hello world!"); cout << p1.con << endl;//输出调用次数 } void print_parameter(Print& p1, string name)//函数对象可以作为参数传递 { p1(name); } void parameter() { Print p1; print_parameter(p1, "bendangmi"); } int main() { add(); print(); parameter(); return 0; } ``` 最后修改:2021 年 09 月 23 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果文章有用,请随意打赏。