কম্পিউটার টিউটোরিয়াল

C++-এ মেম্বার ফাংশনে ফাংশন পয়েন্টার (Function Pointer to Member Function)

C++-এ, ক্লাস বা স্ট্রাক্টের মেম্বার ফাংশনlerle কাজ করার সময় ফাংশন পয়েন্টারকে অবজেক্ট পয়েন্টার বা this কল ব্যবহার করে আহ্বান করা হয়। আমরা কেবল সেই ক্লাস (অথবা এর ডেরিভেটিভস) کے মেম্বারদের কল করতে পারি সেই টাইপের পয়েন্টার ব্যবহার করে কারণ তারা টাইপ-সেফ (type-safe)।

উদাহরণ কোড

#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;
        }
};

// ফাংশন পয়েন্টার ব্যবহার
int res1(int m, int n, AB* obj, int (AB::*fp)(int, int)) {
    return (obj->*fp)(m, n);
}

// ফাংশন পয়েন্টার ব্যবহার
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
  1. C++-এ ফাংশনে অ্যারে পাস করা: পয়েন্টার ও রেফারেন্স

  2. C++-এ ২D অ্যারে ফাংশনে পাস করা

  3. C++-এ NULL অবজেক্ট পয়েন্টার দিয়ে মেম্বার ফাংশন কল করা

  4. C++-এ অ্যারে ফাংশনে পাস করা (Passing Array to Function)