通過指向成員的指針只能訪問公有成員
指向數據成員的指針
- 聲明指向公有數據成員的指針
類型說明符 類名:: *指針名:int A::*pc;
- 聲明指向公有成員函數的指針
類型說明符 (類名:: * 指針名)(參數表) - 說明指針應該指向哪個成員
指針名=&類名::數據成員名 :int A::*pc=&A::c
- 通過對象名(或對象指針)與成員指針結合來訪問數據成員
對象名.* 類成員指針名:A a; a.*pc=8;
對象指針名—>*類成員指針名:A *p; p->*pc=8;
指向函數成員的指針
初始化
- 指針名=類名::函數成員名 :
int (A::*pfun) (int) = A::fun
- 通過對象名(或對象指針)與成員指針結合來訪問函數成員
(對象名.* 類成員指針名)(參數表):A a; a.*pfun(9);
(對象指針名—>*類成員指針名)(參數表):A *p; p->*pfun(9);