operator函数应用
返回值类型 operator()(形参)
是一种函数调用运算符重载,也称为函数对象或者仿函数。它允许对象像函数一样被调用。在C++中,可以通过重载函数调用运算符()来实现这种功能。
当我们创建一个类并重载了函数调用运算符()时,我们可以将该类的对象当作函数来使用。当我们使用对象名后面加上圆括号并传入相应的参数时,就会调用重载的函数运算符()。
这种方式的好处是可以将对象当作函数来使用,使得代码更加灵活和可读性更高。通过重载函数调用运算符,我们可以自定义对象的行为,使其具有函数的特性。
例如,我们可以创建一个名为Add的类,并重载其函数调用运算符(),使其能够实现两个数相加的功能。代码示例如下:
class Add
{
public:
int operator()(int a, int b) {
return a + b;
}
};
int main()
{
Add add;
int result = add(8, 8); // 调用重载的函数调用运算符()
cout << result << endl; // 输出结果为16
return 0;
}
在上述示例中,我们创建了一个Add类,并重载了函数调用运算符()。在main函数中,我们创建了一个Add类的对象add,并将其当作函数来使用,传入两个参数8和8,最终返回它们的和16。