C++/Class 2021. 3. 20. 17:46

정적 바인딩 (Static Binding)

  • Early Binding

  • 동적 바인딩보다 빠르다.

  • 빌드 타임에 모든 변수명이나 함수명이 정의된 경우이다.


예제

  #include <iostream>

  int            add(int x, int y)
  {
    return (x + y);
  }

  int            subtract(int x, int y)
  {
    return (x - y);
  }

  int            multiply(int x, int y)
  {
    return (x * y);
  }

  int            main()
  {
    using namespace std;

    int    x, y;
    cin >> x >> y;

    int    op;
    cout << "0 : add, 1 : subtract, 2 : multiply\n";
    cin >> op;

    int    result = 0;
    switch (op)
    {
    case 0: result = add(x, y); break;
    case 1: result = subtract(x, y); break;
    case 2: result = multiply(x, y); break;
    }

    cout << result << endl;
  }

'C++ > Class' 카테고리의 다른 글

C++ 가상 (함수) 테이블 (Virtual Tables)  (0) 2021.03.20
C++ 동적 바인딩 (Dynamic Binding)  (0) 2021.03.20
C++ 가상 소멸자  (0) 2021.03.20
C++ 공변 반환형(Covariant Return Type)  (0) 2021.03.20
C++ Override, Final  (0) 2021.03.20