C++ 函式指標為成員函式


在 C++ 中,涉及類或結構的成員函式的函式指標時,使用物件指標或 this 呼叫對其進行呼叫。由於它們是型別安全的,因此我們只能使用該型別的指標呼叫該類的成員(或派生成員)。

示例

 即時演示

#include <iostream>
using namespace std;
class AB {
   public:
      int sub(int a, int b) {
         return a-b;
      }
      int div(int a, int b) {
         return a/b;
      }
};
//using function pointer
int res1(int m, int n, AB* obj, int(AB::*fp)(int,int)) {
   return (obj->*fp)(m,n);
}
//using function pointer
int res2(int m, int n, AB* obj, int(AB::*fp2)(int,int)) {
   return (obj->*fp2)(m,n);
}
int main() {
   AB ob;
   cout << "Subtraction is = " << res1(8,5, &ob, &AB::sub) << endl;
   cout << "Division is = " << res2(4,2, &ob, &AB::div) << endl;
   return 0;
}

輸出

Subtraction is = 3
Division is = 2

更新於: 2019-07-30

1.2 萬+ 瀏覽量

開啟你的 職業生涯

完成課程獲得認證

立即開始
廣告
© . All rights reserved.