C++函數(shù)對(duì)象怎樣重載操作符

c++
小樊
81
2024-11-09 05:31:32
欄目: 編程語言

在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é)果。

0