在C++中,你可以通過定義一個(gè)函數(shù)對(duì)象(也稱為仿函數(shù)或functor)并重載操作符來實(shí)現(xiàn)類似函數(shù)調(diào)用的功能。這里有一個(gè)簡單的例子,展示了如何創(chuàng)建一個(gè)重載了()
操作符的函數(shù)對(duì)象:
#include <iostream>
// 定義一個(gè)函數(shù)對(duì)象類
class MyFunctor {
public:
// 重載()操作符
int operator()(int a, int b) const {
return a * b;
}
};
int main() {
// 創(chuàng)建一個(gè)函數(shù)對(duì)象實(shí)例
MyFunctor myFunctor;
// 使用重載的()操作符調(diào)用函數(shù)對(duì)象
int result = myFunctor(3, 4);
// 輸出結(jié)果
std::cout << "Result: " << result << std::endl; // 輸出 "Result: 12"
return 0;
}
在這個(gè)例子中,我們定義了一個(gè)名為MyFunctor
的類,并重載了()
操作符。這使得我們可以像調(diào)用函數(shù)一樣調(diào)用這個(gè)類的實(shí)例。在main
函數(shù)中,我們創(chuàng)建了一個(gè)MyFunctor
實(shí)例,并使用重載的()
操作符計(jì)算了3 * 4
的結(jié)果。