C++ এ, ফাংশন পয়েন্টার যখন ক্লাস বা স্ট্রাকটের সদস্য ফাংশনগুলির সাথে কাজ করে, এটি একটি অবজেক্ট পয়েন্টার বা এই কল ব্যবহার করে আহ্বান করা হয়। আমরা শুধুমাত্র সেই শ্রেণীর সদস্যদের (বা ডেরিভেটিভস) সেই ধরনের পয়েন্টার ব্যবহার করে কল করতে পারি কারণ তারা টাইপ নিরাপদ।
উদাহরণ
#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