सी ++ में, फ़ंक्शन पॉइंटर्स जब कक्षाओं या स्ट्रक्चर के सदस्य कार्यों से निपटते हैं, तो इसे ऑब्जेक्ट पॉइंटर या इस कॉल का उपयोग करके बुलाया जाता है। हम उस प्रकार के पॉइंटर का उपयोग करके केवल उस वर्ग (या डेरिवेटिव) के सदस्यों को कॉल कर सकते हैं क्योंकि वे सुरक्षित हैं।
उदाहरण
#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