// 函数对象 // 仿函数: 一元,二元仿函数 #include using namespace std; // 一元仿函数 class A { public: A(int n) : n(n) {} int n; // 重载 operator() 运算符,只要调用 A 对象的 (int x) ,就会给对象的对应成员对象加一个 x A &operator()(int i) { this->n += i; return *this; } }; void print(A a, int n) // A a = A(30) { a(n); cout << "a.n = " << a.n << endl; } int main() { // 打印 a 对象的值加额外的值的结果 print(A(20), 3); // A(20) 会创建一个匿名对象 return 0; }