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

            常用鏈接

            留言簿(8)

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜


            1、 函數的多態

                  多態可以簡單地概括為“一個接口,多種方法”,在程序運行的過程中才決定調用的函數。多態是面向對象編程領域的核心概念。

            2、 多態的實現

                  多態往往借助于虛函數實現,把基類和派生類中相同的函數同時定義為虛函數。在一個含有基類和派生類的程序中,往往各個類中相應的成員函數具有相同的函數名、返回類型和參數表,但函數體不同。在每個類中都有實現相應功能的成員函數。

                  當一個派生類的對象的地址賦給一個基類的指針后,基類指針只能訪問所屬的成員函數,不能訪問該派生類對象中與基類成員函數相同的成員函數。但在實際應用中,需要把一個基類或派生類的對象的地址賦給一個基類的指針后,基類指針能夠訪問基類或派生類中與基類成員函數相同的成員函數。虛函數的定義方法時在成員函數前加關鍵字virtual。

                  當基類和派生類中相同的函數定義為一組虛函數后,通過基類指針可以調用任一類中的虛函數。

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

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

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

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

            class B:public Base
            {
            public:
                B()
            {cout<<"B 構造函數"<<endl;}
                
            ~B(){cout<<"B 析構函數"<<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;
            }


            代碼的輸出結果如下:


            想要獲得更多內容,可點擊:《Visual C++代碼參考與技巧大全》學習筆記——索引隨筆

            posted on 2010-02-17 16:16 煙皚 閱讀(814) 評論(0)  編輯 收藏 引用 所屬分類: 《Visual C++代碼參考與技巧大全》學習筆記
            欧美精品九九99久久在观看| 久久男人AV资源网站| 无码久久精品国产亚洲Av影片| 亚洲人成网亚洲欧洲无码久久| 97久久国产亚洲精品超碰热| 99久久精品国产麻豆| 久久精品国产久精国产果冻传媒 | 99久久夜色精品国产网站| 99精品国产综合久久久久五月天| 精品久久8x国产免费观看| 久久伊人精品一区二区三区| 亚洲国产精品久久| 国产一级做a爰片久久毛片| 亚洲天堂久久久| 欧美粉嫩小泬久久久久久久 | 伊人久久国产免费观看视频| 国产巨作麻豆欧美亚洲综合久久| 久久人人爽爽爽人久久久| 亚洲国产精品一区二区久久hs| 欧洲精品久久久av无码电影| 国产精品视频久久| 久久精品国产亚洲av瑜伽| 国产精品99久久久精品无码| 久久久久人妻精品一区二区三区| 久久99精品久久久久久久久久| 久久久久久久亚洲Av无码| 久久亚洲精品中文字幕三区| 久久国产成人亚洲精品影院| 亚洲乱码日产精品a级毛片久久| 日韩人妻无码精品久久免费一| 狠狠色丁香久久综合五月| 模特私拍国产精品久久| 一级做a爰片久久毛片人呢| A级毛片无码久久精品免费| 国产精品美女久久久久久2018| 日本久久中文字幕| 国产精品对白刺激久久久| 777午夜精品久久av蜜臀| 久久九九久精品国产免费直播| 久久亚洲国产成人精品无码区| 一本大道久久a久久精品综合|