C++/C++ 함수 포인터 배열

C++ 함수 포인터 배열

재윤 2023. 12. 2. 12:45
반응형

함수 포인터 배열

  • 함수 포인터 배열은 함수 포인터를 선언할 때 함수 포인터 이름 뒤에 [ ] 대괄호 안에 배열의 크기를 지정하면 된다
반환값자료형 (*함수포인터 이름)[크기](매개변수자료형1, 매개변수자료형2);

 

선언 예제

int (*functionPointers[])(int, int) 

전체 코드 예제

#include <iostream>

// 덧셈 함수
int add(int a, int b) {
    return a + b;
}

// 뺄셈 함수
int subtract(int a, int b) {
    return a - b;
}

// 곱셈 함수
int multiply(int a, int b) {
    return a * b;
}

int main() {
    // 함수 포인터 배열 선언 및 초기화
    int (*functionPointers[])(int, int) = { add, subtract, multiply };

    int a = 10;
    int b = 5;

    // 함수 포인터 배열을 사용하여 각 함수 호출
    for (int i = 0; i < 3; ++i) {
        int result = functionPointers[i](a, b);
        
        switch (i) {
            case 0:
                std::cout << "Addition result: " << result << std::endl;
                break;
            case 1:
                std::cout << "Subtraction result: " << result << std::endl;
                break;
            case 2:
                std::cout << "Multiplication result: " << result << std::endl;
                break;
            default:
                break;
        }
    }

    return 0;
}

 

결과

jaeyojun@c2r10s5 C++ % ./a.out 
Addition result: 15
Subtraction result: 5
Multiplication result: 50
반응형