2011-02-02 134 views
3

我在互联网上找到这段代码:运算符重载C++

Class Book{ 
Public: 
void operator()(int Counter) const throw(); 
} 

我的问题是,用什么操作符重载上面的代码?

+0

重载括号运算符() – 2015-12-31 21:50:46

回答

11

首先,该代码是错误的;由于C++区分大小写,因此ClassPublic不是关键字。使用参数名称的第一个字母(Counter)也很不寻常(尽管合法)。

假设正确的大写,你有什么是函数调用操作符的重载。它可以让你“呼”的Book一个实例,如果它是一个功能:

Book b; 
... 
b(23); 
2

上面的类基本上是被称为“函子”。它有一个重载的“()”运算符。广泛用于STL算法。