• <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>
            C++分析研究  
            C++
            日歷
            <2013年9月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345
            統(tǒng)計(jì)
            • 隨筆 - 92
            • 文章 - 4
            • 評論 - 4
            • 引用 - 0

            導(dǎo)航

            常用鏈接

            留言簿

            隨筆檔案

            文章檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

             

              我們來談一下重載C++標(biāo)準(zhǔn)庫函數(shù)時(shí)候會(huì)發(fā)生什么樣的問題呢?接下來會(huì)通過重載MFC的MessageBox讓你知道不一樣的MFC。

              一、messagebox的原始調(diào)用方法

              我們隨便新建一個(gè)MFC的對話框工程,先給出兩種messagebox的調(diào)用方法,如下所示:

              void CMy200Dlg::OnBnClickedButton1()

              {

              //1. 調(diào)用CMy200Dlg類基類CWnd的方法MessageBox

              MessageBox(_T("CWnd's method!"),_T("123!"),0);

              //2. 調(diào)用windows API的MessageBox function

              ::MessageBox(NULL,_T("API funtion!"),NULL,0);

              }

              二、CMy200Dlg類中對messagebox方法的重載

              下面來改造MessageBox這個(gè)函數(shù),第1種是在CMy200Dlg這個(gè)類中重載

              //d:\My Documents\Visual Studio 2005\Projects\200\200\200Dlg.h

              class CMy200Dlg : public CDialog

              {

              public:

              int MessageBox();

              };

              //d:\My Documents\Visual Studio 2005\Projects\200\200\200Dlg.cpp

              int CMy200Dlg::MessageBox()

              {

              int a=0,b=1;

              return a+b;

              }

              void CMy200Dlg::OnBnClickedButton1()

              {

              //方法1. 調(diào)用CMy200Dlg類基類CWnd的方法MessageBox

              CWnd::MessageBox(_T("CWnd's method!"),_T("123!"),0);

              //方法2. 調(diào)用windows API的MessageBox function

              ::MessageBox(NULL,_T("API funtion!"),NULL,0);

              //方法3. 調(diào)用重載的MessageBox()

              MessageBox();

              }

              為什么1.中的MessageBox必須加上CWnd::限定符,因?yàn)樵贑My200Dlg中重載了MessageBox后會(huì)對基類的函數(shù)進(jìn)行覆蓋,這個(gè)是必須要引起注意的。

              三、全局中對messagebox方法的重載

              下面繼續(xù)來重載MessageBox這個(gè)函數(shù),第2種是在全局中進(jìn)行重載

              int CMy200Dlg::MessageBox()

              {

              int a=0,b=1;

              return a+b;

              }

              int MessageBox(int aa,int bb)

              {

              return aa*bb;

              }

              void CMy200Dlg::OnBnClickedButton1()

              {

              //1. 調(diào)用CMy200Dlg類基類CWnd的方法MessageBox

              CWnd::MessageBox(_T("CWnd's method!"),_T("123!"),0);

              //2. 調(diào)用windows API的MessageBox function

              ::MessageBox(NULL,_T("API funtion!"),NULL,0);

              //3. 調(diào)用重載的MessageBox()

              MessageBox();

              //4. 調(diào)用重載的全局函數(shù) MessageBox(int aa,int bb)

              ::MessageBox(20,14);

              }

              記住全局函數(shù)的調(diào)用加上::作用域符號(hào)就可以了。

              四、結(jié)論:

              一個(gè)知識(shí)點(diǎn)的靈活運(yùn)用關(guān)鍵是勤動(dòng)手,多調(diào)試,多去思考和總結(jié)。作為上一篇函數(shù)的重載就這樣講完了,但是子類對基類的覆蓋這個(gè)概念沒有展開來說,留給以后再去細(xì)說吧 www.yztrans.com  
             

            posted on 2014-01-22 14:55 HAOSOLA 閱讀(481) 評論(0)  編輯 收藏 引用
             
            Copyright © HAOSOLA Powered by: 博客園 模板提供:滬江博客
            PK10開獎(jiǎng) PK10開獎(jiǎng)
            久久久久久噜噜精品免费直播| 免费一级做a爰片久久毛片潮 | 久久精品中文字幕久久| 久久最新精品国产| 久久婷婷色综合一区二区| 久久人人添人人爽添人人片牛牛 | 久久人妻少妇嫩草AV无码专区| 韩国三级大全久久网站| 国产亚洲精午夜久久久久久| 久久91精品国产91| 亚洲国产二区三区久久| 久久国语露脸国产精品电影| 四虎国产精品免费久久5151| 国产精品一区二区久久精品涩爱| 久久精品国产秦先生| 久久人人青草97香蕉| 国产福利电影一区二区三区久久久久成人精品综合 | 久久精品国产99久久久古代| 国产69精品久久久久777| 久久影院午夜理论片无码| 99国产欧美精品久久久蜜芽| 要久久爱在线免费观看| www亚洲欲色成人久久精品| 无码精品久久久天天影视| 午夜精品久久久久久久无码| 久久综合狠狠综合久久激情 | 久久婷婷国产麻豆91天堂| 综合网日日天干夜夜久久| 无码8090精品久久一区| 国产精品亚洲美女久久久| 久久国产精品一区二区| 久久久久av无码免费网| 欧美伊人久久大香线蕉综合69| 99久久这里只有精品| 久久久久人妻精品一区二区三区| 国产精品久久婷婷六月丁香| 久久97久久97精品免视看秋霞| 91久久成人免费| 国产精品无码久久久久| 久久无码一区二区三区少妇| 久久99精品国产99久久6|