1) 정적바인딩이란?
: 컴파일 타임에 호출될 함수가 결정되는 것
2) 동적 바인딘이란?
: 런타임에 호출될 함수가 결정되는 것
1) 정적 바인딩
2) 동적 바인딩
#include <iostream>
#include <string>
#include <vector>
int add(const int& inA, const int& inB)
{
std::cout << "더하기 입니다. " << std::endl;
return inA + inB;
}
int subtract(const int& inA, const int& inB)
{
std::cout << "빼기 입니다. " << std::endl;
return inA - inB;
}
int main()
{
int input;
std::cin >> input;
int(*func)(const int&, const int&) = nullptr;
//함수 포인터가 어떤 함수를 호출할지를 결정하는 부분
switch (input)
{
case 0 :
func = add;
break;
case 1 :
func = subtract;
break;
}
std::cout << func(2, 2) << std::endl;
return 0;
}