1、在C++中,如果类重载了函数调用运算符,我们可以使用函数一样使用该类对象。由于这种类同时也能够存储状态,所以相比普通函数更加灵活。
ex1:
struct absInt {
int operator() (int val) const {
return val <0? -val:val;
}
}
以上类只定义了一种操作,函数调用运算符。
使用方法:
int i = -42;
absInt absObj;
int ui = absObj(i); //将i传递给absObj.operator()