posts - 134,comments - 22,trackbacks - 0
          普通的指針:通過對象指針來訪問對象的成員,調(diào)用類的成員函數(shù);
          成員函數(shù)的指針:通過對象及成員函數(shù)指針來調(diào)用類的成員函數(shù),僅限于非Static成員函數(shù),Static成員函數(shù)通過類名加域限制符直接調(diào)用,無需成員指針;
          下面是成員函數(shù)指針的用法及函數(shù)表的使用示例:
           1#include <iostream>
           2
           3using namespace std;
           4
           5class Screen
           6{
           7
           8private:
           9    typedef void (Screen::* Action)();
          10    static Action menu[];
          11public:
          12    void home()
          13    {
          14        cout<<"home"<<endl;
          15    }

          16    void left()
          17    {
          18        cout<<"left"<<endl;
          19    }

          20    void right()
          21    {
          22        cout<<"right"<<endl;
          23    }

          24    void down()
          25    {
          26        cout<<"down"<<endl;
          27    }

          28    void up()
          29    {
          30        cout<<"up"<<endl;
          31    }

          32
          33public:
          34    enum Directions{HOME,LEFT,RIGHT,DOWN,UP};
          35    void move(Directions);    
          36}
          ;
          37
          38
          39void Screen::move(Directions d)
          40{
          41    (this->*menu[d])();
          42}

          43
          44Screen::Action Screen::menu[]={
          45    &Screen::home,
          46    &Screen::left,
          47    &Screen::right,
          48    &Screen::down,
          49    &Screen::up
          50}
          ;
          51
          52
          53int main()
          54{
          55    Screen s;
          56
          57    s.move(Screen::LEFT);
          58
          59    return 0;
          60}
          posted on 2009-11-13 15:41 何克勤 閱讀(207) 評論(0)  編輯  收藏 所屬分類: C/C++
          主站蜘蛛池模板: 开鲁县| 黔东| 肥西县| 蒙城县| 太仓市| 博白县| 喀喇| 孝义市| 东至县| 喀什市| 静海县| 沧源| 延安市| 施秉县| 大埔县| 青川县| 宜城市| 宿州市| 垣曲县| 普格县| 新干县| 泊头市| 惠水县| 亳州市| 曲靖市| 将乐县| 苗栗市| 广东省| 太保市| 镇平县| 石城县| 琼结县| 涿鹿县| 鄄城县| 九江市| 清流县| 上饶市| 宁波市| 浏阳市| 海晏县| 大姚县|