當前位置:編程學習大全網 - 圖片素材 - 成員函數指針的解引用怎麽理解?

成員函數指針的解引用怎麽理解?

p是指向Base類(及其子類)的對象的指針。pf是指向類Base的成員函數的指針,就是說pf是指向函數的指針,但只能用它指向Base的成員函數,當然這個成員函數還得滿足pf定義的簽名,即不需要參數且返回類型是void。

那麽p->的意思就是引用p指向的對象的某個成員(可以是數據成員,也可以是函數成員)。比如p->print();,可以理解為調用p指向的對象的方法print。但這裏需要註意的壹點是:print是虛函數且p可以指向子類,因此,實際調用的可能是print方法的子類版本。

因pf是指向Base類的成員函數的指針,所以,*pf就是pf指向的成員函數。

而(p->*pf)();就是調用p指向的對象的由pf指向的成員函數。簡單講就是,調用p指向的對象的壹個成員函數,但這個成員函數究竟是哪個,由指針pf給出。

  • 上一篇:B2B和B2C有什麽區別?
  • 下一篇:Nginx proxy pass簡單用法、負載均衡
  • copyright 2024編程學習大全網