C++中回調(diào)函數(shù)及函數(shù)指針的示例分析

這篇文章主要為大家展示了“C++中回調(diào)函數(shù)及函數(shù)指針的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“C++中回調(diào)函數(shù)及函數(shù)指針的示例分析”這篇文章吧。

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供開陽網(wǎng)站建設(shè)、開陽做網(wǎng)站、開陽網(wǎng)站設(shè)計、開陽網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、開陽企業(yè)網(wǎng)站模板建站服務(wù),十多年開陽做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

C++中回調(diào)函數(shù)及函數(shù)指針的實例詳解

如何獲取到類中函數(shù)指針

實現(xiàn)代碼:

//A類與B類的定義
class A
{
public:
  void Test()
  {
    cout << "A::Test()" << endl;
  }
};

class B : public A
{
public:
  void Test()
  {
    cout << "B::Test()" << endl;
  }
};

//定義類的成員函數(shù)指針
typedef void (A::*A_mFun)(void);
typedef void (B::*B_mFun)(void);



int main()
{
  //Code
  A a;
  B b;
  A_mFun pAFun = &(A::Test); //Note:Test成員函數(shù)必須為public,否則會報錯
  B_mFun pBFun = &(B::Test); //Note:Test成員函數(shù)必須為public,否則會報錯
  (a.*pAFun)();        //輸出A::Test()
  (b.*pBFun)();        //輸出B::Test()
  (b.*pAFun)();        //輸出A::Test()

  A* pA = &a;
  B* pB = &b;
  (pA->*pAFun)();       //輸出A::Test()
  (pB->*pBFun)();       //輸出B::Test()
  (pB->*pAFun)();       //輸出A::Test(),B*變量可賦值給A*變量


  return 0;
}

以上是“C++中回調(diào)函數(shù)及函數(shù)指針的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章名稱:C++中回調(diào)函數(shù)及函數(shù)指針的示例分析
瀏覽地址:http://bm7419.com/article40/jcsdho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、全網(wǎng)營銷推廣、搜索引擎優(yōu)化、品牌網(wǎng)站制作、企業(yè)網(wǎng)站制作、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計