青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

xyjzsh

指向類成員對(duì)象的指針

定義:
class Shape
{
public:
//...
void moveTo(Point newLocation);
bool validate()const;
vritual bool draw() const=0;
//...
}:
class Circle: public Shape
{
//...
bool draw() const;
//...
};

void (Shape::*mf1)(Point ) = &Shape::moveTo;//指向類的成員函數(shù)的指針。

ReturnType (ClassName::*pFuncName)(paramList);
pFuncName定義了指向ClassName中的一組函數(shù)。這組函數(shù)的形式是返回值為ReturnType,函數(shù)列表為paramList.

ClassName的限定使得只有ClassName或派生自它的類的對(duì)象才能解引用這個(gè)函數(shù)指針。

  1 #include"stdafx.h"
  2 #include<stdio.h>
  3 #include<stdlib.h>
  4 
  5 class Base;
  6 class Derived;
  7 typedef long (Base::*PFunc)(long,long);
  8 
  9 enum FuncType
 10 {
 11     ADD=1,
 12     SUB,
 13     DIV,
 14     MUL,
 15 };
 16 
 17 typedef struct tagCallBackFunc
 18 {
 19     long funcType;
 20     PFunc proc;
 21 }COMMAND,*PCOMMAND;
 22 
 23 class Base
 24 {
 25 public:
 26 
 27     virtual PCOMMAND GetCommands(void);
 28     static COMMAND command[];
 29 
 30     long base_add(long a,long b){printf("in base_add()\n");return a+b;}
 31     long base_sub(long a,long b){printf("in base_sub()\n");return a-b;}
 32     long base_div(long a,long b){printf("in base_div()\n");return a/b;}
 33     long base_mul(long a,long b){printf("in base_mul()\n");return a*b;}
 34 };
 35 
 36 COMMAND Base::command[]={
 37                        {ADD,(PFunc)&Base::base_add},
 38                        {SUB,(PFunc)&Base::base_sub},
 39                        {MUL,(PFunc)&Base::base_mul},
 40                        {DIV,(PFunc)&Base::base_div},
 41                   };
 42 PCOMMAND Base::GetCommands()
 43 {
 44     return command;
 45 }
 46 
 47 class Derived:public Base
 48 {
 49 public:
 50     Derived(void){}
 51     ~Derived(void){}
 52     virtual PCOMMAND GetCommands(void){return command;}
 53 
 54     long add(long a,long b){printf("in add()\n");return a+b;}
 55     long sub(long a,long b){printf("in sub()\n");return a-b;}
 56     long div(long a,long b){printf("in div()\n");return a/b;}
 57     long mul(long a,long b){printf("in mul()\n");return a*b;}
 58 
 59     static COMMAND command[];
 60 };
 61 
 62 COMMAND Derived::command[]=
 63                    {
 64                        {ADD,(PFunc)&Derived::add},
 65                        {SUB,(PFunc)&Derived::sub},
 66                        {MUL,(PFunc)&Derived::mul},
 67                        {DIV,(PFunc)&Derived::div},
 68                        {0}
 69                     };    
 70 
 71 
 72 
 73 void  test(Base *control,FuncType funcType,long operand1,long operand2)
 74 {
 75     PCOMMAND pCommand = control->GetCommands();
 76     PCOMMAND pNowCommand=NULL;
 77 
 78     for(long i=0;pCommand[i].funcType;++i)
 79     {
 80         if(funcType == pCommand[i].funcType)
 81         {
 82             pNowCommand = &pCommand[i]; 
 83             break;
 84         }
 85     }
 86 
 87     if(pNowCommand)
 88     {
 89         long res = (control->*pNowCommand->proc)(operand1,operand2);
 90         printf("res=%d\n",res);
 91     }
 92 }
 93 
 94 int main()
 95 {
 96     Derived *=new Derived();
 97     Base *= (Base*)d;
 98     test(b,ADD,1,2);
 99 
100     Base *bb = new Base;
101     test(bb,MUL,1,2);
102     delete bb;
103     delete d;
104     return 0;
105 }

第89行是對(duì)指向類成員函數(shù)的指針的解析。

posted on 2010-12-15 14:00 呆人 閱讀(312) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)結(jié)構(gòu)

<2010年12月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久天天狠狠| 国产麻豆综合| 亚洲视频在线二区| 亚洲黄色成人| 免费成人高清视频| 亚洲国产日韩欧美综合久久| 亚洲第一免费播放区| 亚洲黄页视频免费观看| 亚洲精品日韩久久| 在线观看中文字幕亚洲| 亚洲国产精品小视频| 日韩视频在线一区二区| 亚洲午夜久久久久久尤物| 久久国产精品久久久久久| 美女视频黄a大片欧美| 亚洲国产欧美一区| 亚洲一区二区三区色| 久久久久久久综合| 欧美日韩精品系列| 狠狠色狠狠色综合日日91app| 136国产福利精品导航| 亚洲一区精彩视频| 欧美激情第六页| 亚洲一级免费视频| 欧美成人四级电影| 国产欧美日韩精品a在线观看| 亚洲黄色高清| 欧美在线网址| 99国产精品久久久久久久| 午夜国产精品影院在线观看| 欧美激情视频一区二区三区不卡| 国产精品美腿一区在线看 | 在线性视频日韩欧美| 欧美淫片网站| 国产精品福利av| 亚洲国产一成人久久精品| 欧美一级日韩一级| 亚洲伦理在线| 欧美理论电影在线播放| 狠狠综合久久| 欧美在线观看你懂的| 99国产精品一区| 免费在线看一区| 狠色狠色综合久久| 久久久久久久精| 午夜精品一区二区三区在线播放 | 亚洲日本欧美| 久久一区亚洲| 国产综合视频| 久久久国产成人精品| 欧美一级淫片aaaaaaa视频| 国产精品二区在线观看| 亚洲天堂男人| 一本色道久久加勒比精品| 欧美va亚洲va日韩∨a综合色| 国精产品99永久一区一区| 久久精品论坛| 午夜精品www| 国产一区二区三区丝袜| 久久精品国产一区二区电影| 午夜影院日韩| 尤物九九久久国产精品的特点| 国产原创一区二区| 久久狠狠久久综合桃花| 欧美一级播放| 一区在线播放| 欧美77777| 欧美大片在线观看一区二区| 亚洲日本无吗高清不卡| 亚洲欧洲日本国产| 欧美视频一区二区三区在线观看| 亚洲一区二区三区影院| 亚洲欧美日韩在线观看a三区| 国产情人节一区| 美女视频一区免费观看| 欧美成人精品一区| 亚洲午夜国产成人av电影男同| 一区二区久久久久| 国产伦精品免费视频| 久久人91精品久久久久久不卡| 久久久www| 日韩午夜在线视频| 亚洲免费在线| 在线成人性视频| 亚洲免费av观看| 国产欧美日韩亚洲| 欧美激情亚洲精品| 国产精自产拍久久久久久| 欧美a一区二区| 欧美视频不卡中文| 免费av成人在线| 欧美日韩一区在线观看视频| 久久国产精品电影| 欧美精品18videos性欧美| 午夜天堂精品久久久久| 久久综合色播五月| 亚洲男女自偷自拍| 久久一二三区| 久久久久久久久久看片| 亚洲国产一区二区三区青草影视| 99视频精品在线| 91久久亚洲| 性一交一乱一区二区洋洋av| 99热在线精品观看| 欧美一区激情视频在线观看| 日韩亚洲国产精品| 久久久久成人网| 亚洲免费在线观看| 免费影视亚洲| 久久久久久久久久看片| 欧美视频四区| 亚洲国产精品久久久久婷婷老年| 国产精品激情电影| 最新日韩在线| 亚洲欧洲视频在线| 欧美在线视频不卡| 亚洲女女女同性video| 欧美了一区在线观看| 美女精品国产| 国产中文一区二区| 亚洲一区视频| 亚洲自拍啪啪| 欧美三区在线视频| 亚洲日本中文字幕免费在线不卡| 一区三区视频| 久久久久91| 蜜桃av久久久亚洲精品| 狠色狠色综合久久| 久久亚洲精品伦理| 国产精品亚洲一区二区三区在线| 亚洲青色在线| a91a精品视频在线观看| 老司机午夜精品| 欧美aⅴ一区二区三区视频| 激情久久影院| 久久久www成人免费无遮挡大片| 久久精品麻豆| 亚洲电影免费观看高清完整版在线观看 | 欧美大片在线观看一区| 国内精品久久久| 久久精品毛片| 免费黄网站欧美| 最新日韩在线视频| 欧美激情乱人伦| 亚洲全部视频| 亚洲一区二区三区视频播放| 国产精品国产三级国产普通话蜜臀| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 欧美高清在线视频| 亚洲激情第一区| 在线视频免费在线观看一区二区| 欧美日韩精品一区二区三区| 亚洲免费激情| 久久国产66| 亚洲日本欧美| 国产精品久久久久久模特| 欧美亚洲色图校园春色| 欧美成人黄色小视频| av成人毛片| 国产日韩精品在线| 美女在线一区二区| 99精品视频免费在线观看| 欧美中文字幕| 亚洲人成人一区二区在线观看| 欧美午夜电影一区| 欧美在线观看视频在线| 91久久久精品| 欧美在线一级视频| 亚洲久久视频| 国产一区二区欧美| 欧美日韩国产三区| 久久激情视频免费观看| 亚洲人成网在线播放| 久久精品一区二区三区不卡牛牛 | 亚洲在线播放| 亚洲电影第三页| 久久国产99| 一本色道久久综合狠狠躁篇的优点| 国产精品午夜视频| 欧美成人a视频| 欧美在线观看视频一区二区三区 | 国产精品网曝门| 久久综合色8888| 新67194成人永久网站| 亚洲成人原创| 国产区日韩欧美| 欧美日韩日日夜夜| 久久婷婷丁香| 午夜在线观看欧美| 99热在线精品观看| 亚洲国产经典视频| 久久亚洲欧美| 欧美伊人久久大香线蕉综合69| 日韩网站免费观看| 亚洲高清激情| 国内成人精品视频| 国产一区二区久久| 国产美女精品| 国产伦精品一区| 国产精品一区免费视频|