কম্পিউটার

C++ এ সদস্য ফাংশনে ফাংশন পয়েন্টার


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

  1. C++ এ ফাংশনে অ্যারে পাস করা

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

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

  4. একটি C++ ফাংশনে একটি অ্যারে পাস করা