背景
在c++中,有的时候看见一个类派生的实例对象a, 可以a()调用。 这个时候其实是调用operator()()方法。
Point pt;
pt( 3, 2 );
定义方法:
在类中定义一个名称叫做operator()的方法。注意名字里带(),所以会有两个()
#include <iostream>
struct Multiply
{
double operator()( const double v1, const double v2 ) const
{
return v1 * v2;
}
};
int main ()
{
const double v1 = 3.3;
const double v2 = 2.0;
Multiply m;
std::cout << v1 << " * " << v2 << " = "
<< m( v1, v2 )
<< std::endl;
}