हम एक क्लास के मेम्बर का एड्रेस पॉइन्टर को निम्न प्रकार से असाइन कर सकते हैं।
class X
{
int a;
public:
void show();
};
हम क्लास X के मेम्बर a के लिए पॉइन्टर परिभाषित इस प्रकार कर सकते हैं
intX::*p= &X:: a;
X: : * का मतलब क्लास X के मेम्बर के लिए पॉइन्टर।
&X: : * का मतलब क्लास X का मेम्बर a का एड्रेस।
स्टेटमेंट int *p = &a; कार्य नहीं करेगा। पॉइन्टर p का उपयोग डेटा मेम्बर a को मेम्बर फंक्शन और फ्रेंड फंक्शन के अन्दर एक्सेस करने के लिए कर सकते हैं।
उदाहरण के लिए
void show()
{
X x; //object created
cout<<x.*p; //display value of a
cout<<x.a; //same as above
}
हम क्लास के मेम्बर फंक्शन के लिए पॉइन्टर सेट कर सकते हैं। मेम्बर फंक्शन को डिरेफरेंसिंग ऑपरेटर (*) की सहायता से कॉल कर सकते हैं।
उदाहरण के लिए
Xx;//object created
void(X::*pf) ()= &X:: show;
(x.*pf) ();//invoke show
यहाँ pf मेम्बर फंक्शन show () के लिए पॉइन्टर है।