C++中回調函數及函數指針的實例詳解
如何獲取到類中函數指針
實現代碼:
//A類與B類的定義class A{public: void Test() { cout << "A::Test()" << endl; }};class B : public A{public: void Test() { cout << "B::Test()" << endl; }};//定義類的成員函數指針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成員函數必須為public,否則會報錯 B_mFun pBFun = &(B::Test); //Note:Test成員函數必須為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;}
如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答