• <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++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              117 Posts :: 2 Stories :: 61 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(8)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜


            1、 函數(shù)的多態(tài)

                  多態(tài)可以簡單地概括為“一個(gè)接口,多種方法”,在程序運(yùn)行的過程中才決定調(diào)用的函數(shù)。多態(tài)是面向?qū)ο缶幊填I(lǐng)域的核心概念。

            2、 多態(tài)的實(shí)現(xiàn)

                  多態(tài)往往借助于虛函數(shù)實(shí)現(xiàn),把基類和派生類中相同的函數(shù)同時(shí)定義為虛函數(shù)。在一個(gè)含有基類和派生類的程序中,往往各個(gè)類中相應(yīng)的成員函數(shù)具有相同的函數(shù)名、返回類型和參數(shù)表,但函數(shù)體不同。在每個(gè)類中都有實(shí)現(xiàn)相應(yīng)功能的成員函數(shù)。

                  當(dāng)一個(gè)派生類的對(duì)象的地址賦給一個(gè)基類的指針后,基類指針只能訪問所屬的成員函數(shù),不能訪問該派生類對(duì)象中與基類成員函數(shù)相同的成員函數(shù)。但在實(shí)際應(yīng)用中,需要把一個(gè)基類或派生類的對(duì)象的地址賦給一個(gè)基類的指針后,基類指針能夠訪問基類或派生類中與基類成員函數(shù)相同的成員函數(shù)。虛函數(shù)的定義方法時(shí)在成員函數(shù)前加關(guān)鍵字virtual。

                  當(dāng)基類和派生類中相同的函數(shù)定義為一組虛函數(shù)后,通過基類指針可以調(diào)用任一類中的虛函數(shù)。

            #include <iostream>
            using namespace std;
            class Base
            {
            //構(gòu)造函數(shù)和析構(gòu)函數(shù)
            public:
                Base()
            {cout<<"Base構(gòu)造函數(shù)"<<endl;}
                
            virtual ~Base(){cout<<"Base析構(gòu)函數(shù)"<<endl;}
            public:
                
            virtual void foo()
                
            {
                    cout
            <<"Base"<<endl;
                }

            }
            ;
            /**//**//**//*********************************************************/
            /**//**//**//*
            /********************************************************
            */

            class A:public Base
            {
            public:
                A()
            {cout<<"A 構(gòu)造函數(shù)"<<endl;}
                
            virtual ~A(){cout<<"A 析構(gòu)函數(shù)"<<endl;}
            public:
                
            virtual void foo()
                
            {
                    cout
            <<"A"<<endl;
                }

            }
            ;
            /**//**//**//*********************************************************/
            /**//**//**//*
            /********************************************************
            */

            class B:public Base
            {
            public:
                B()
            {cout<<"B 構(gòu)造函數(shù)"<<endl;}
                
            ~B(){cout<<"B 析構(gòu)函數(shù)"<<endl;}
            public:
                
            virtual void foo()
                
            {
                    cout
            <<"B"<<endl;
                }

            }
            ;
            /**//**//**//*********************************************************/
            /**//**//**//*
            /********************************************************
            */

            int main()
            {
                Base
            * pBase=NULL;
                pBase
            =new A;
                pBase
            ->foo();
                
            if(pBase!=NULL)
                
            {
                    delete pBase;
                    pBase
            =NULL;
                }


                pBase 
            =new B;
                pBase
            ->foo();
                
            if(pBase!=NULL)
                
            {
                    delete pBase;
                    pBase
            =NULL;
                }

                
            return 0;
            }


            代碼的輸出結(jié)果如下:


            想要獲得更多內(nèi)容,可點(diǎn)擊:《Visual C++代碼參考與技巧大全》學(xué)習(xí)筆記——索引隨筆

            亚洲国产另类久久久精品小说 | 香港aa三级久久三级| 日韩欧美亚洲综合久久影院d3| 日本精品久久久久中文字幕| 要久久爱在线免费观看| 久久综合给久久狠狠97色| 国产福利电影一区二区三区久久老子无码午夜伦不| 久久精品国产精品亚洲下载| 少妇人妻88久久中文字幕| 国产成人精品久久| 精品少妇人妻av无码久久| 久久久久99精品成人片三人毛片| 久久天堂AV综合合色蜜桃网 | 99久久99久久精品国产片果冻| 精品无码久久久久久尤物| 亚洲人成无码www久久久| 久久99中文字幕久久| 亚洲va久久久噜噜噜久久| 久久久综合香蕉尹人综合网| 国产精品99久久久久久人| 日本WV一本一道久久香蕉| 久久精品国产亚洲av瑜伽| 国产成人无码久久久精品一| 狠狠色婷婷久久一区二区| 久久精品国产一区二区电影| 久久久久国产一级毛片高清版| 色偷偷88888欧美精品久久久| 日韩中文久久| 日韩美女18网站久久精品| 精品无码久久久久久国产| 久久夜色精品国产亚洲| 精品国产乱码久久久久久1区2区| 亚洲国产精品久久电影欧美| 久久成人小视频| 国产精品中文久久久久久久| 一本久久免费视频| 久久亚洲精品国产亚洲老地址 | 国产精品对白刺激久久久| 久久无码人妻一区二区三区| 久久久无码人妻精品无码| 蜜臀av性久久久久蜜臀aⅴ麻豆 |