[c++] 함수 호출 연산자의 오버로딩

아래는 함수 호출 연산자를 오버로딩하는 예제 코드입니다.

#include <iostream>

class MyFunction {
public:
    void operator()() {
        std::cout << "Calling operator() function" << std::endl;
    }
};

int main() {
    MyFunction func;
    func(); // 함수 호출 연산자를 사용해서 operator() 함수 호출
    return 0;
}

위의 예제에서 MyFunction 클래스의 operator() 함수가 오버로딩되어 있습니다. 이 클래스의 객체 func는 마치 함수처럼 호출될 수 있으며, 내부적으로는 operator() 함수가 호출됩니다.

함수 호출 연산자를 오버로딩함으로써 객체를 함수처럼 사용할 수 있으며, 이를 사용하여 다양한 동작을 정의할 수 있습니다.