题目内容
//仿函数(函数对象): 在类中重载()运算符, 使得类对象可以像函数一样使用。在STL的算法中使用较广泛#include "iostream"using namespace std;class Stu{public:string m_no;string m_name;float m_grade;Stu(string no="1001", string name="zhangsan", int grade=80):m_no(no),m_name(name),m_grade(grade){ }};class AddGrade{public://重载"()"运算符float operator()(Stu& s){s.m_grade += 10;return s.m_grade;}int operator()(float s){return int(s);}};int main(){Stu s;AddGrade a;cout << a(s) << endl;//输出函数对象cout << s.m_grade << endl;cout << a(123.45) << endl;//输出函数对象return 0;}程序运行结果是:
查看答案
搜索结果不匹配?点我反馈