例如
bool operator()(Point *p) const;
{return f(p->pt);}
它是否可能返回一个布尔值,如果它是真的,则调用f?
答案 0 :(得分:3)
如果传递了与Point*
兼容的一个参数,则会对类型的函数调用运算符进行重载。例如,如果在类型Foo
上声明了这个:
Foo foo;
Point point;
// This calls the operator() method.
bool returnValue = foo(&point);
这种方法的主体没有什么神奇之处;它将简单地调用函数f
,传入p->pt
,并将该表达式的结果作为bool返回。 (方法中实际发生的事情取决于f
的类型。)
答案 1 :(得分:0)
它重载了“function-call”运算符,即operator()
,它允许您将对象用作带有类型TypeName*
的参数(或者可以转换为它)的函数的函子。回来一个布尔。
答案 2 :(得分:0)
这基本上是函数调用操作符的重载,它接受一个Point对象并返回一个布尔值